多GPU训练:torch.nn.DataParallel()指定显卡

遇到大的模型一般会采用torch.nn.DataParallel()的方式使用多GPU进行训练,但torch.nn.DataParallel()这个方式会每次调用GPU:0,如果0卡被占用就训练不起来了。在此提供两种指定GPU的方法:

方法一:.cuda(‘cuda:3’)

这种方法就是将有cuda()的地方全部里面指定卡,但是这样改的地方太多,要是再做变动就会很麻烦,而且貌似不可以指定两张卡。

方法二: os.environ[“CUDA_VISIBLE_DEVICES”] = ‘1,2’

这种方法可以让程序只看到1卡和2卡,这时候机器就会认为1卡就是GPU:0。所以输出报错或者其他输出当前GPU是在GPU:0,但其实是跑在GPU:1上。

你可能感兴趣的:(多GPU训练:torch.nn.DataParallel()指定显卡)