AttributeError: модуль 'torch' не имеет атрибута 'cmul'
Я пытался сделать поэлементное умножение двух тензоров, используя приведенный здесь пример.
Мой код:
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'
Может кто-нибудь сказать мне, почему я получаю эту ошибку?
3 ответа
Решение
Я получил решение. Вместо того, чтобы использовать cmul
Мне нужно использовать mul
, Следующий код работал для меня!
import torch
x = torch.Tensor([2, 3])
y = torch.Tensor([2, 1])
z = torch.mul(x, y)
print(z)
PS: я использовал pytorch, а не lua.
Пытаться:
z = x.cmul(y)
Я думаю cmul
это метод класса Tensor
, а не функция...
PS: пример в документации, которую вы дали, написан на языке lua, а не на python.
Потому что у Факела нет этого метода.
Cmul - это отдельный класс, который находится по адресу torch.legacy.nn
который принимает Torch в качестве аргумента https://github.com/pytorch/pytorch/blob/master/torch/legacy/nn/CMul.py