AttributeError: module 'torch' has no attribute 'cmul'

AttributeError: module 'torch' has no attribute 'cmul'

我尝试使用提供的示例对两个张量进行逐元素乘法 here

我的代码:

import torch

x = torch.Tensor([2, 3])
y = torch.Tensor([2, 1])
z = torch.cmul(x, y)
print(z)

它给我以下错误。

AttributeError: module 'torch' has no attribute 'cmul'

谁能告诉我为什么会出现此错误?

尝试:

z = x.cmul(y)

我认为cmul是classTensor的方法,不是函数...

PS: 你给的文档中的例子是用lua写的,不是python.

因为Torch没有这个方法。 Cmul 本身是一个 class,它位于 torch.legacy.nn,它以 Torch 作为参数 https://github.com/pytorch/pytorch/blob/master/torch/legacy/nn/CMul.py

我得到了解决方案。而不是使用 cmul,我需要使用 mul。以下代码对我有用!

import torch

x = torch.Tensor([2, 3])
y = torch.Tensor([2, 1])
z = torch.mul(x, y)
print(z)

PS:我用的是pytorch,不是lua。