如何在PyTorch中计算张量上的梯度?

时间:2019-05-13 11:24:58

标签: pytorch

我想计算张量的梯度,但是它给出了错误

RunTimeerror: grad can be implicitly created only for scalar outputs

这是我要编写的代码:

x = torch.full((2,3), 4,requires_grad=True)
y = (2*x**2+3)
y.backward()

此时,它会引发错误。

1 个答案:

答案 0 :(得分:0)

由于没有汇总/减少损失值的方法,例如.sum() 因此,该问题可以通过以下方式解决:

y.backward(torch.ones_like(x))

用所有张量的张量执行雅可比矢量积并获得梯度。