0

这是一个 pytorch 初学者的问题。在 pytorch 中,我试图用两个大小为 [5,5,3] 的张量进行元素除法。在 numpy 中,使用 np.divide() 可以正常工作,但不知何故我在这里遇到错误。我正在为 Python 3.5 使用 PyTorch 版本 0.1.12。

c = [torch.DoubleTensor 大小为 5x5x3]

input_patch = [torch.FloatTensor 大小为 5x5x3]

input_patch 是一个 torch.autograd 变量的切片,c 是通过做 c = torch.from_numpy(self.patch_filt[:, :, :, 0]).float()

做的时候:

torch.div(input_patch, c)

我收到这个我不明白的错误。

line 317, in div
assert not torch.is_tensor(other)
AssertionError

这是否意味着变量 c 不应该是 torch_tensor?在将 c 转换为 FloatTensor 之后仍然会给出相同的错误。

谢谢!

4

1 回答 1

1

input_patch 是一个 torch.autograd 变量的切片,而 c 是通过做

c = torch.from_numpy(self.patch_filt[:, :, :, 0]).float() 

无论如何,mexmex,感谢您的评论,我通过将 c 定义为解决了它

Variable(torch.from_numpy(self.patch_filt[:, :, :, 0])).float()
于 2017-06-13T12:08:58.783 回答