创作不易,您的打赏、关注、点赞、收藏和转发是我坚持下去的动力!
优化说明:
-
避免重复下载和解压数据集:将
download=True
改为download=False
,防止每次运行代码都重新下载和解压数据集,从而节省时间。 -
使用
pin_memory
加速数据加载:在DataLoader
中设置pin_memory=True
,可以加快数据从CPU传输到GPU的速度。 -
设置
torch.backends.cudnn.benchmark = True
:启用CuDNN的自动优化,可以根据网络结构和输入数据的大小,自动选择最优的卷积算法,提升训练速度。 -
使用混合精度训练:利用
torch.cuda.amp
模块进行自动混合精度训练,可以减少显存占用,加快训练速度。 -
优化
compute_miou
函数:改为使用GPU上的Tensor计算mIoU,避免数据在GPU和CPU之间的传输,提升计算效率。 -
减少输入图像尺寸:将
input_size
从520
减小到256
,可以减少模型的计算量,加快训练速度。 -
调整
num_workers
参数:根据CPU的核心数量适当增加num_workers
,提高数据加载的效率。 -
减少
print
输出:避免过多的日志输出,可以节省训练时间。
通过以上优化,可以明显加快数据处理和训练的速度,提高模型训练的效率。