【Pytorch】使用GPU加速模型的训练为什么要用GPU加速呢? 因为GPU有大量的并行计算单元,所以至少可以提高一位数的计算速度。
我不会讨论GPU加速的原理,反正很快就会结束。 在同一个项目中,我用服务器的CPU(E5-2650 )需要30分钟,用GPU (1080 Ti )需要200秒以上。 又快又不半途而废。
介绍如何在Pytorch中使用GPU加速。 主要有四个要点。
首先,定义全局变量device。 device=torch.device(cuda:0 ) )其中cuda:0可以指定GPU编号,如果有多个GPU,则可以在linux上输入nvidia-smi以显示GPU信息
在模型初始化时添加GPU。 计算model=model(.to ) device )模型时,batch_x添加GPU,返回值返回cpu (output=model (batch _ x.to ) ).CPU
使用完output后删除,释放GPU显存。 del output 需要注意的地方:千万别在一开始就把训练集和测试集放到GPU里,以免爆内存,只需要在前向传播时,参数后.to(device)即可,返回值记得转回cpu,其他的loss函数什么的不需要额外操作