2.通过CUDA_VISIBLE_DEVICES来指定.
同样使用第2块GPU来训练模型,我们可以在我们的python代码中加入:
import os
os.environ['CUDA_VISIBLE_DEVICES']='2'
实验效果如下:
我们可以看到,在训练模型的时候,使用了第2块GPU,并且其它几块GPU也没有被占,这种就相当于在我们运行程序的时候,将除第2块以外的GPU全部屏蔽了,只有第2块GPU对当前运行的程序是可见的。同样,如果要指定2,3块GPU来训练,则上面的代码可以改成:
os.environ['CUDA_VISIBLE_DEVICES']='2,3'
类似的如果还有更多的GPU要指定,都可以仿照上面的代码进行添加。
这种方法还可以在运行python程序的前面指定,比如:
CUDA_VISIBLE_DEVICES=2 python train.py