如果X.grad报错:
grad can be implicitly created only for scalar outputs
加上去 X.backward(torch.ones_like(X)) 即可。
import torch
a = torch.randn(2, 3, requires_grad=True) # 创建一个张量
b = 3 * a
b.backward(torch.ones_like(b)) # 自动计算所有梯度
print(a.grad)
如果X.grad报错:
grad can be implicitly created only for scalar outputs
加上去 X.backward(torch.ones_like(X)) 即可。
import torch
a = torch.randn(2, 3, requires_grad=True) # 创建一个张量
b = 3 * a
b.backward(torch.ones_like(b)) # 自动计算所有梯度
print(a.grad)