RuntimeError: CUDA out of memory. Tried to allocate 32.00 MiB (GPU

当PyTorch在GPU上运行时,即使显存充足也可能出现CUDA out of memory错误。这可能是由于代码指定的GPU与实际运行的GPU不匹配。解决方案是确保代码中指定的GPU与实际使用的一致,通过设置CUDA_VISIBLE_DEVICES环境变量来指定使用特定的GPU。
摘要由CSDN通过智能技术生成

RuntimeError: CUDA out of memory. Tried to allocate 32.00 MiB (GPU)

1. 问题描述

Pytorch,GPU显存明明够用,为什么还报错呢?
首先,可能真的是显存不够用,可以减小batch_size解决
还有一种就是,减小batch_size 是没用的。
根本原因是代码指定的GPU实际使用的GPU不一致。你以为代码在1上跑,实际上是在已经有代码运行的其他gpu跑,因此显示显存不足。
比如我遇到的报错:
报错信息已经提示了,30.47 GiB already allocated,说明是代码指定的GPU实际使用的GPU不一致
在这里插入图片描述

2. 解决办法

让自己指定的gpu与实际使用的对应一致即可。
在这里插入图片描述
比如,现在0,2,3号GPU已经在使用,想利用1号GPU,执行以下代码即可。
在服务器端,执行python代码之前,运行:

export CUDA_VISIBLE_DEVICE
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值