RuntimeError: All input tensors must be on the same device. Received cuda:0 and cpu

昨天遇到了这个错误,查询后发现原因是有一个变量创建之后没有发给GPU,导致运算的时候出错。

解决方法:

在出错的变量创建后,在参与计算之前发给GPU。

1
2
data = torch.zeros(1)
data = data.cuda()