質問編集履歴
1
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
DNNの訓練は(mini)batchで行う場合、Tensorの機能を生かし、目標関数の誤差を簡単に(mini)batch毎に累積され、これを用いてDNNのパラメータのgradient
|
1
|
+
DNNの訓練は(mini)batchで行う場合、Tensorの機能を生かし、目標関数の誤差を簡単に(mini)batch毎に累積され、これを用いてDNNのパラメータのgradient値が算出され、DNNのパラメータの更新に使われます。これは実装の現状です。要はわざわざgradientを累積計算を行う必要性はないですね❣
|
2
2
|
なので、毎回、loss.backward()を実行する直前にmodel.zero_grad()を実行するわけ。
|
3
|
-
(loss.backward()は余計にgradientの累算をする
|
3
|
+
(loss.backward()は余計にgradientの累算をするから)
|
4
4
|
|
5
5
|
---
|
6
6
|
上記と逆に、わざわざgradientを累積計算する必要あるケースを知りたいのです。
|