【RuntimeError: CUDA error: out of memory 实测有用】

服务器报CUDA error: out of memory


问题:
使用linux服务器运行py程序时,出现RuntimeError: CUDA error: out of memory的错误(但是之前运行这个**python没有问题)

原因:**
服务器的默认gpu显卡正在使用,需要使用gpu的另一个空闲的显卡;linux里查看gpu的显卡使用状态用代码:

nvidia-smi

查询显卡状态
因为默认的是使用显卡:0,所以可以选择一个空闲的卡

解决:
在.py文件里加入:

import os
os.environ["CUDA_VISIBLE_DEVICES"] = '1'

注意要放在

import torch

之前!!!
之后运行代码就是用的卡1!!!
参考
同时,该文章评论里有大佬解释:
解释下这么做的理由:
CUDA_VISIBLE_DEVICES限制一下使用的GPU。
比如有0,1,2,3号GPU;
CUDA_VISIBLE_DEVICES=2,3;
则当前进程的可见GPU只有物理上的2、3号GPU;
此时它们的编号也对应变成了0、1;
即cuda:0对应2号GPU,cuda:1对应3号GPU。
————————————————
按照博主的教程限定只有1号GPU以后,代码里面cuda编号仍然为0

猜你喜欢

转载自blog.csdn.net/qq_47128755/article/details/129752435