Detectron2 指定cuda id;set cuda device;

一般的服务器8张卡,但是好多人都在用,如果不进行额外的设置的话,Detectron2只能使用前n张卡。比如你指定num_gpus=1,那么就只能使用0号卡,指定num_gpus = 3,那就只能使用0,1,2号卡。这样的设置肯定太蠢了,如果正好有人使用了0号卡或者1号卡,虽然后面的卡都空着,但是实验就是跑不起来。Detectron2虽然基于torch,但是要高级的多的多,不能直接指定用那几张卡来跑。那可咋整啊!(我个人真的是喜欢简洁,直截了当,就连anaconda我都不愿意用)

没办法,网上查了查,在github那里发现有人有类似的问题,网址在此:

specify gpu id · Issue #210 · facebookresearch/detectron2 · GitHub

(github也tmd有时候上的去有时候上不去的,不知道到底是个什么原因,就不能痛痛快快的吗?之前也没听过github总是访问不了啊!烦的一批)

在运行代码的时候,在前面指定可见的gpu device是哪几块就可以了,比如:

CUDA_VISIBLE_DEVICES=2,3 python3 xxx.py

命令行内容和原来一摸一样,就是在python前面添加CUDA_VISIBLE_DEVICES,用几块就写几块,如果运行代码需要2块gpu,但是CUDA_VISIBLE_DEVICES只写了1个id,那就报错了。

另外一种方法,在代码里指定程序可以看到的显卡:

import os
os.environ['CUDA_VISIBLE_DEVICES']='0,2,3'

这种方法更为稳妥一些,不会有那么多幺蛾子。

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值