当前位置:   article > 正文

(已解决)RuntimeError: CUDA out of memory. Tried to allocate 400.00 MiB (GPU 0; 47.54 GiB total capacity_cuda out of memory. tried to allocate 360.00 mib (

cuda out of memory. tried to allocate 360.00 mib (gpu 0; 24.00 gib total cap

最近在做对比实验,要跑好多不同的算法,出现了CUDA out of memory这个问题。从两个方面来看基本就能解决。

1 显存爆炸

看自己的GPU显存是不是已经满了,所以不能再跑报错这个程序了。

终端输入nvidia-smi,如果下图红框你的已经满了或者只剩几十m(我的图没有满),那就是你报错的原因了。

这个时候我们就需要清一下显存,把用不到的进程关闭。ubuntu关闭进程命令:

kill -9 pid

这里的pid需要修改成你要关闭进程的PID号

2 代码原因

代码的batchsize太大可能也会导致这个原因,使用较大的batch size时,GPU需要为每个批次分配更多的内存,这可能导致GPU内存耗尽。如果你的GPU没有足够的内存来容纳指定的batch size,就会发生CUDA out of memory错误。

我最开始设置的64,改成16就没有报错了。

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

闽ICP备14008679号