python深度学习指定使用某块gpu,CUDA_VISIBLE_DEVICES

如果代码中很多地方需要指定使用gpu,原本写法并未指定具体某一块,这样在改代码的时候会十分麻烦,我们可以通过CUDA_VISIBLE_DEVICES来指定某块gpu,这样,在程序看来,是只有指定的这块gpu的,而其他gpu都不可见了,也就不会使用其他gpu。

运行python脚本时,使用如下这种方法,指定gpu

# run_python.sh
gpu=2
CUDA_VISIBLE_DEVICES=$gpu python gpuProgram.py 

另一种方法是通过在python文件运行中指定

import os 
os.environ['CUDA_VISIBLE_DEVICES'] = '2'
命令 说明
CUDA_VISIBLE_DEVICES=1 只有编号为1的GPU对程序是可见的,在代码中gpu[0]指的就是这块GPU
CUDA_VISIBLE_DEVICES=0,2,3 只有编号为0,2,3的GPU对程序是可见的,在代码中gpu[0]指的是第0块,gpu[1]指的是第2块,gpu[2]指的是第3块
CUDA_VISIBLE_DEVICES=2,0,3 只有编号为0,2,3的GPU对程序是可见的,但是在代码中gpu[0]指的是第2块,gpu[1]指的是第0块,gpu[2]指的是第3块

可参考设置 CUDA_VISIBLE_DEVICES - 腾讯云开发者社区-腾讯云 (tencent.com)

猜你喜欢

转载自blog.csdn.net/Zilong0128/article/details/128385109