【DL-遇错】RuntimeError: CUDA out of memory.

问题描述:

遇到如下错误提示信息:

RuntimeError: CUDA out of memory. Tried to allocate 2.00 MiB (GPU 0;2.00 GiB total capacity; 1.10 GiB already allocated; 1.35 MiB free; 1.13 GiB reserved in total by PyTorch)

在这里插入图片描述
原因:

出现类似bug的原因是显存不足

解决方案:

方式一:调整batch_size大小(自己尝试调节)
在这里插入图片描述
我这里是将batch_size的大小调成28时候才没有报错。

方式二:不计算梯度

如果上述方法还没解决,不改batchsize

在报错的那一行代码的上面,加上下面一行代码(注意缩进),不计算梯度

with torch.no_grad():

方式三:释放内存

在报错的那一行代码的上面,加上下面两行代码,释放无关的内存

if hasattr(torch.cuda, 'empty_cache'):
	torch.cuda.empty_cache()

方式四:使用CPU来跑

如果使用GPU时候显示内存不足,可以使用CPU来跑。

os.environ["CUDA_VISIBLE_DEVICES"] = "-1"     

在这里插入图片描述

你可能感兴趣的:(深度学习,深度学习,pytorch)