解决出现CUDA error:out of memory的问题

模型运行时,出现以下错误:

torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 38.00 MiB (GPU 0; 15.77 GiB total capacity; 54.15 MiB already allocated; 35.44 MiB free; 70.00 MiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

查阅资料,发现是显卡内存不足。

解决方法:

使用:CUDA_VISIBLE_DEVICES限制一下使用的GPU。

例如:有两块GPU,即0,1号GPU,

CUDA_VISIBLE_DEVICES=0,1 则使用这两张GPU

CUDA_VISIBLE_DEVICES=0 则使用第一张GPU

CUDA_VISIBLE_DEVICES=1,则使用第二张GPU

如何设置CUDA_VISIBLE_DEVICES?

方法1:可以在代码运行前shell或者bash脚本中加:

CUDA_VISIBLE_DEVICES=1 python xxx.py

例如:

CUDA_VISIBLE_DEVICES=1 python train.py
CUDA_VISIBLE_DEVICES=0,1 python xxx.py

方法2:可以在py文件代码的开头加:

指定一张卡:
import os
os.environ['CUDA_VISIBLE_DEVICES']='1'

或指定两张卡:
import os
os.environ['CUDA_VISIBLE_DEVICES']='0,1'

即可运行成功。

解决出现CUDA error:out of memory的问题_第1张图片


 推荐博主:

解决运行出现CUDA error:out of memory的问题_outofmemoryerror: cuda out of memory._AI_Frank的博客-CSDN博客

torch.cuda.OutOfMemoryError: CUDA out of memory._CSwangyf的博客-CSDN博客


加油!!每天学会一点点!!1

你可能感兴趣的:(python,开发语言)