在指定用第幾塊GPU的時候,在代碼開頭輸入了
import os os.environ["CUDA_VISIBLE_DEVICES"] = "2"
表示用第二塊GPU,並且也只能看見第二塊,然后輸入:
print('# GPUs = %d' % (torch.cuda.device_count()))
這時候輸出的就是1(其實一共有4塊)
至此應該不會有什么問題,但是問題出就出在后面的代碼:
device = 'cuda' model.cuda()
最好用以下形式,而不是用.cuda(),因為這個無法指定第幾塊,它一直會用第0塊
device = torch.device("cuda:3" if torch.cuda.is_available() else "cpu") model.to(self._model_device)