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

Другие вопросы по тегам