看了好多教程都提到了使用 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调用不会成功,
以上就是python怎么利用gpu加速的详细内容,更多请关注php中文网其它相关文章!
本文原创发布php中文网,转载请注明出处,感谢您的尊重!