RuntimeError: CUDA out of memory. Tried to allocate 16.00 MiB (GPU 0; 2.00 GiB total capacity; 1.34(
Posted ZSYL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RuntimeError: CUDA out of memory. Tried to allocate 16.00 MiB (GPU 0; 2.00 GiB total capacity; 1.34(相关的知识,希望对你有一定的参考价值。
RuntimeError: CUDA out of memory.
1. with torch.no_grad()
注意pytorch在test时,一定要加上:
with torch.no_grad():
outputs = Net_(inputs) ---错误代码的位置。
不计算梯度,否则会使显存加倍导致OOM错误。
2. os.environ[“CUDA_VISIBLE_DEVICES”]
原因二:GPU没有选对
更换GPU
os.environ["CUDA_VISIBLE_DEVICES"] = "0, 2, 3"
查看性能,发现NVIDIA的只有GPU1,所以改成如下:
os.environ["CUDA_VISIBLE_DEVICES"] = "0"
若是不能在GPU上跑,直接改到CPU上跑,修改如下:
os.environ["CUDA_VISIBLE_DEVICES"] = "-1"
不过,这种问题,还是GPU内存不足引起的。应该购买或租用高性能显卡,减少时间的浪费。
3. torch.cuda.empty_cache()
原因三:可能是缓存过多,使用torch.cuda.empty_cache()
清理缓存
if hasattr(torch.cuda, 'empty_cache'):
torch.cuda.empty_cache()
4. batch_size=1
原因四:可能是epoch和batch_size太大机器受不了!
仅需减小batchsize
,即可解决!
以上是关于RuntimeError: CUDA out of memory. Tried to allocate 16.00 MiB (GPU 0; 2.00 GiB total capacity; 1.34(的主要内容,如果未能解决你的问题,请参考以下文章
使用VGG网络训练发生错误RuntimeError: CUDA out of memory解决方案:
AI绘画——使用stable-diffusion生成图片时提示RuntimeError: CUDA out of memory处理方法
RuntimeError: CUDA out of memory. Tried to allocate 600.00 MiB (GPU 0; 23.69 GiB total capacity)
Pytorch RuntimeError: CUDA error: out of memory at loss.backward() , 使用 CPU 时没有错误
RuntimeError: CUDA out of memory. Tried to allocate 600.00 MiB (GPU 0; 23.69 GiB total capacity)
RuntimeError: CUDA out of memory. Tried to allocate 600.00 MiB (GPU 0; 23.69 GiB total capacity)