我想计算张量的梯度,但是它给出了错误
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()
此时,它会引发错误。
答案 0 :(得分:0)
由于没有汇总/减少损失值的方法,例如.sum()
因此,该问题可以通过以下方式解决:
y.backward(torch.ones_like(x))
用所有张量的张量执行雅可比矢量积并获得梯度。