2017-10-22 75 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. 爲什麼你需要一個自定義的後退功能?你需要額外的反向傳播操作嗎?
相關問題