我是PyTorch的新手,我无法理解loss
如何通过loss.backward()
计算梯度?
当然,我知道参数需要具有requires_grad=True
,并且我知道它会将x.grad
设置为适当的梯度,仅供优化器稍后执行梯度更新。
优化器在实例化时链接到模型参数,但是损失从不链接到模型。
我一直在研究this thread,但是我认为没有人回答清楚,启动线程的人似乎和我有同样的问题。
当我有两个具有两个不同损失函数和两个优化器的不同网络时,会发生什么情况。我将轻松地将优化器链接到每个网络,但是如果我从不将它们链接在一起,损失函数将如何知道如何为它们的每个合适的网络计算梯度?