pytorch、tensorflow-多gpu显存使用问题(解决gpu 0 显存占满时 使用其他gpu 报错 out of memory问题)

问题情景:

服务器上有两个gpu,编号为0的gpu在跑任务,显存完全占满。gpu 1 空闲。在想用gpu 1 跑任务时,报错 CUDA:out of memory. 此时已经设置了 device = torch.device(“cuda:1”) ,尝试了设置device = torch.device(“cpu”),仍然会报错。

原因:

gpu 0 为主gpu,运行pytorch程序时 仍会尝试向其上写入内容,导致报错。

解决方案:

修改环境变量,让python程序忽视 gpu 0
比如 我要只使用gpu 1:

CUDA_VISIBLE_DEVICES=1 python my_script.py

如需在python程序内设置,使用如下语句:

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

参考资料:

https://github.com/pytorch/pytorch/issues/3477

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值