Можно ли использовать autograd, если в конечном тензоре содержится более одного значения?
Я пробовал следующее.
x = torch.tensor([4.0, 5.0], requires_grad=True)
y = x ** 2
print(y)
y.backward()
Выдает ошибку
RuntimeError: grad can be implicitly created only for scalar outputs
Однако работает следующее.
x = torch.tensor([4.0, 5.0], requires_grad=True)
y = x ** 2
y = torch.sum(y)
print(y)
y.backward()
print(x.grad)
Вывод:
tensor(41., grad_fn=<SumBackward0>)
tensor([ 8., 10.])
Am Iздесь чего-то не хватает, или я могу исходить из предположения, что autograd работает только тогда, когда конечный тензор имеет единственное значение?