如何修复pytorch中的“输入和隐藏张量不在同一设备上”

kai*_*iyu 7 python gpu python-3.x lstm pytorch

当我想将模型放在 GPU 上时,出现以下错误:

“运行时错误:输入张量和隐藏张量不在同一设备上,在 cuda:0 处找到输入张量,在 cpu 处找到隐藏张量”

但是,以上所有内容都已放在 GPU 上:

for m in model.parameters():
    print(m.device) #return cuda:0
Run Code Online (Sandbox Code Playgroud)
for m in model.parameters():
    print(m.device) #return cuda:0
Run Code Online (Sandbox Code Playgroud)

Windows 10 服务器
Pytorch 1.2.0 + cuda 9.2
cuda 9.2
cudnn 7.6.3 for cuda 9.2

ESZ*_*ESZ 9

您需要将模型、输入和目标移动到 Cuda:

if torch.cuda.is_available():
   model.cuda()
   inputs = inputs.cuda() 
   target = target.cuda()
Run Code Online (Sandbox Code Playgroud)