pytorch 25 科学炼丹(训练)方式之——加速训练

训练epoch的次数对模型的性能影响较大,如果能在有限的时间内将模型训练的次数变得更多,这有利于得出最佳模型。为此,对加速模型训练做了一定调研。在这里主要以如何提升GPU利用率的方式研究加速训练。因为在模型训练过程中,存在io瓶颈,GPU不是一直全功率运作的,会有一个周期性的等待(在batch前向传播后中GPU需要等待CPU传输数据)。为此,将以降低IO瓶颈的方式探讨如何加速训练。

核心:在保证模型结构不变的前提下,降低IO瓶颈加速模型训练

在深度学习中,从数据加载到训练模型的过程如下图所示,包含数据加载与解码、数据在线增强、数据到GPU、训练模型,接下来将从以下4个方面介绍如何加速模型训练的小技巧。并用推荐指数1~5,描述其实用性,指数越高实用性越强。

pytorch 25 科学炼丹(训练)方式之——加速训练_第1张图片
1、数据加载与解码

我们平时存储的jpg图像其实是经过压缩的,因此在读取数据时系统要进行解码。那么在这里一共提出以下加速方案:
1、采用bmp等无压缩格式存储数据,减小解码时间(推荐指数2)
2、使用torchvision.io 读取图片(推荐指数3)

    基本说明:通过torchvision.io 读取图片可以提升加载速度
    示例代码:file=torchvision.io.read_file(img_path);img=torchvision.io.decode_image(file) 
3、当模型的输入尺寸固定时,设置t

你可能感兴趣的:(pytorch工程实践,pytorch,深度学习,python)