2017-10-22 76 views
-2

这里是customLayer.pypytorch中为什么grad_output requires_grad是False?

我很困惑以下的事情:

  1. 内层的输入不是一个变量。然后在backward它变成一个变量,并要求梯度。为什么?
  2. grad_output是一个变量,但require_grad是False。为什么不是真的?
  3. 在我的自定义图层中,我需要自定义向前和向后的操作。这很复杂。看到相同的链接。我已经在其中发布了问题。
+0

1.你是什么意思的内层? 2. grad_output,正如其名称所示是梯度计算的结果。为什么这个变量需要_grad? – Maximilian

回答

1
  1. 梯度通过您的损失计算进行更新,并且是反向传播所必需的。如果你没有渐变,你不能训练你的网络。
  2. 可能是因为您不希望渐变最后放在变量上。暂时只有一个落后阶段。
  3. 为什么你需要一个自定义的后退功能?你需要额外的反向传播操作吗?
相关问题