解决方案总结RuntimeError: CUDA error: out of memory

在训练过程中有时会出现显卡爆了的情况,导致无法进行训练,本文总结一下处理这种情况的三种方法。

1. 方法一:减小batch size

减小batch size是最直接方法,有人做过对比:
batch size是48的时候,GPU使用量为14.4G,batch size=1的时候就变成1.3G了。
解决方案总结RuntimeError: CUDA error: out of memory_第1张图片
解决方案总结RuntimeError: CUDA error: out of memory_第2张图片

2. 方法二:修改网络结构

  • 修改隐层节点数,尽量让linear层的结点数变小
  • 加dropout,pooling
  • 检查有迭代的地方的迭代深度,迭代深度大也会增加GPU使用

3. 方法三:清掉GPU中不用的进程

如果像我一样实在不能调整batch size和网络结构,那就清除掉GPU中无用的进程
输入下面代码,查看GPU中的process:

ps -elf | grep python

kill掉没有用的进程

kill -9 [pid]

你可能感兴趣的:(Pytorch深度学习,深度学习,pytorch,神经网络,gpu)