【发布时间】:2020-12-05 06:42:04
【问题描述】:
我无法理解 pytorch 中的 backward 方法
x1 = tensor(2.).requires_grad_()
x2 = tensor(3.).requires_grad_() # or x2 = tensor(3.)
x3 = x1 + x2
l = (x3**2).sum()
l.backward()
print(x1)
print(x3)
print(x1.grad)
print(x3.grad)
结果是
tensor(2., requires_grad=True)
tensor(5., grad_fn=<AddBackward0>)
tensor(10.)
None
为什么x3.grad 还是None?不应该是tensor(10.)吗?
当我运行以下代码行时,x3.grad 被评估为tensor(10.)
x3 = tensor(5.).requires_grad_()
l = (x3**2).mean()
l.backward()
print(x3.grad)
【问题讨论】:
标签: pytorch