GPU的使用+RuntimeError: CUDA error: out of memory + in _lazy_init torch._C._cuda_init()

查看GPU情况

nvidia-smi查看命令,下部分为占用pid
watch -n 1 nvidia-smi每1秒刷新一次
fuser -v /dev/nvidia*运行在gpu上的所有程序

watch的参数解释

使用

# device setup 
use_cuda = torch.cuda.is_available()
device = torch.device('cuda' if use_cuda else 'cpu')
# bash 文件中
export CUDA_VISIBLE_DEVICES=4
# 代码中
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"# 保证程序中的GPU序号是和硬件中的序号是相同的
os.environ['CUDA_VISIBLE_DEVICES'] = "0, 1, 3"
device = torch.device("cuda:0" if torch.cuda.is_available() and not args.no_cuda else "cpu")  # cuda 指定使用GPU设备
model = torch.nn.DataParallel(model, device_ids=[0, 1, 3])  # 指定多GPU并行处理时使用的设备编号

RuntimeError: CUDA error: out of memory

情况方案
内存不足减小batchsize
显存问题多次执行 torch.cuda.empty_cache()
torch 与cuda 不匹配print(torch.cuda.is_available())
gcc 显卡的gcc的版本,与pytorch支持的最低版本CUDA,NVIDIA Driver,Linux,GCC之间的版本对应关系表格
程序指定的GPU被占用按照使用教程更改

File “envs\torch\lib\site-packages\torch\cuda_init_.py”, line 214, in _lazy_init torch._C._cuda_init()

原因GPU 设置错误,我的情况是没有此编号的GPU,并进行了以下修改

os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = "0"
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值