【发布时间】:2021-03-03 21:08:19
【问题描述】:
运行python代码时,第44行出现runtimeError:RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu!
42 feats = self.node_features[self.train_mask]
43 labels = self.node_labels[train_mask]
44 A = torch.mm(feats.t(), feats) + 1e-05 * torch.eye(feats.size(1))
45 labels_one_hot = torch.zeros((feats.size(0), self.n_classes))
谁能知道原因并帮我解决它!谢谢!
【问题讨论】:
-
您正在尝试对 2 个张量求和,一个在 CPU(您使用
torch.eye定义的单位矩阵)上,另一个在 GPU (feats) 上。因此,在第 44 行添加.to('cuda')如下:torch.eye(feats.size(1)).to('cuda')。
标签: python-3.x pytorch