【python】python开启GPU加速

看了好多教程都提到了使用 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函数即可实现。

加在你的程序入口文件很前面的位置,保证程序能执行这句;另外,第一块GPU如果利用率低,可以通过设置tf.Session()的config参数来指定gpu显存利用率,第二块卡没有用的原因有可能是代码本身是不支持多GPU的,需要修改代码。

参考

1. python开启GPU加速

猜你喜欢

转载自www.cnblogs.com/happyamyhope/p/11683708.html