看了好多教程都提到了使用 os.environ["CUDA_VISIBLE_DEVICES"] = "1" 或者export
CUDA_VISIBLE_DEVICES=1

但是我加进代码里面速度并没有提高,查了很久才找到问题所在,当你的电脑有两块以上GPU时,上面这两句代码才起作用!

因为我的电脑只有一块GPU,所以需要将参数的“1”改成“0”才可以,否则找不到“1”号设备,它就会默认使用CPU,速度不会提高。

如果是在终端中运行python程序,使用命令:CUDA_VISIBLE_DEVICES=0 python filename.py即可

如果有多块卡,想要指定多个gpu训练,可以这样设置:def set_gpus(gpu_index):

if type(gpu_index) == list:

gpu_index = ','.join(str(_) for _ in gpu_index)

if type(gpu_index) ==int:

gpu_index = str(gpu_index)

os.environ["CUDA_VISIBLE_DEVICES"] = gpu_index

通过调用set_gpu函数即可实现。

一定要注意的是,CUDA_VISIBLE_DEVICES,每!一!个!字!母!
必须完全写对,如果不小心写成了CUDA_VISIBLE_DIVICES或者CUDA_VISIABLE_DEVICES
,代码是不会报错的,但是GPU调用不会成功,

技术
下载桌面版
GitHub
百度网盘(提取码:draw)
Gitee
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:766591547
关注微信