多卡运行时明明指定了哪几张卡(不包含0号卡),但是结果还是包含0号卡

多卡运行,主要是靠这两行代码:

os.environ['CUDA_VISIBLE_DEVICES'] = '4,5,6,7'
#表示我们想要使用4,5,6,7这四张卡net = nn.DataParallel(net,device_ids=[0,1,2,3])#4,5,6,7这四张卡我们给它们标号0,1,2,3

但是最后发现还是从0号卡开始,占用的不是4,5,6,7,而是0,1,2,3四张卡

解决方法:

(1)os.environ['CUDA_VISIBLE_DEVICES'] 必须在import torch之前

(2)如果import进来的其他文件中import了torch,那os.environ['CUDA_VISIBLE_DEVICES'] 必须在import这个文件之前

所以,最后,我们将os.environ['CUDA_VISIBLE_DEVICES']放在文件的最开始,最开头的位置,就可以完美解决问题


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部