当前位置:   article > 正文

解决方案总结RuntimeError: CUDA error: out of memory_runtimeerror: cuda out of memory. tried to allocat

runtimeerror: cuda out of memory. tried to allocate 64.00 mib (gpu 0; 4.00 g

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

1. 方法一:减小batch size

减小batch size是最直接方法,有人做过对比:
batch size是48的时候,GPU使用量为14.4G,batch size=1的时候就变成1.3G了。
在这里插入图片描述
在这里插入图片描述

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

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

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

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

ps -elf | grep python
  • 1

kill掉没有用的进程

kill -9 [pid]
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/89031
推荐阅读
相关标签
  

闽ICP备14008679号