當(dāng)我想將模型放在 GPU 上時,我收到以下錯誤:“RuntimeError:輸入和隱藏張量不在同一個設(shè)備上,在 cuda:0 找到輸入張量,在 cpu 找到隱藏張量”但是,以上所有內(nèi)容都已放在 GPU 上:for m in model.parameters(): print(m.device) #return cuda:0if torch.cuda.is_available(): model = model.cuda() test = test.cuda() # test is the InputWindows 10 服務(wù)器Pytorch 1.2.0 + cuda 9.2cuda 9.2cudnn 7.6.3 用于 cuda 9.2
2 回答

萬千封印
TA貢獻(xiàn)1891條經(jīng)驗 獲得超3個贊
您需要將模型、輸入和目標(biāo)移動到 Cuda:
if torch.cuda.is_available(): model.cuda() inputs = inputs.cuda() target = target.cuda()

元芳怎么了
TA貢獻(xiàn)1798條經(jīng)驗 獲得超7個贊
當(dāng) PyTorch 嘗試計算存儲在 CPU 上的張量和 GPU 上的張量之間的操作時,會發(fā)生此錯誤。在高層次上,有兩種類型的張量——你的數(shù)據(jù)的張量和模型參數(shù)的張量,兩者都可以復(fù)制到同一個設(shè)備,如下所示:
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
data = data.to(device)
model = model.to(device)
添加回答
舉報
0/150
提交
取消