質問編集履歴
2
表現修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
PytorchでNNを構築する話ですけれども、
|
2
|
-
modelX は model
|
2
|
+
modelX は model1とmodel2という二つのサブmodel(NNブロック)を接続して構成されています。
|
3
|
-
model
|
3
|
+
model1はNNの入力層に繋がって、model2はNNの出力層に繋がっています。
|
4
4
|
訓練ロジック以下の通りで、トラブルが発生しました。
|
5
5
|
|
6
6
|
```Python
|
7
|
-
model
|
7
|
+
model1.zero_grad()
|
8
|
-
batch_loss_model
|
8
|
+
batch_loss_model1.backward(retain_graph=True)
|
9
|
-
optimizer_model
|
9
|
+
optimizer_model1.step() # ①
|
10
10
|
modelX.zero_grad()
|
11
|
-
batch_loss_model
|
11
|
+
batch_loss_model2.backward() # ② 👈①をやめない限り、エラー発生(メッセージ内容は↓)
|
12
12
|
```
|
13
13
|
/usr/local/lib/python3.7/dist-packages/torch/_tensor.py in backward(self, gradient, retain_graph, create_graph, inputs)
|
14
14
|
361 create_graph=create_graph,
|
1
表現を直した
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
PytorchでNNを構築する話ですけれども、
|
2
|
-
|
2
|
+
modelX は modelAとmodelBという二つのサブmodel(NNブロック)を接続して構成されています。
|
3
|
-
modelAはNNの入力層に繋がって、model
|
3
|
+
modelAはNNの入力層に繋がって、modelBはNNの出力層に繋がっています。
|
4
|
-
訓練
|
4
|
+
訓練ロジック以下の通りで、トラブルが発生しました。
|
5
5
|
|
6
6
|
```Python
|
7
|
-
modelA.
|
7
|
+
modelA.zero_grad()
|
8
|
-
|
9
8
|
batch_loss_modelA.backward(retain_graph=True)
|
10
|
-
|
9
|
+
optimizer_modelA.step() # ①
|
11
|
-
model.zero_grad()
|
10
|
+
modelX.zero_grad()
|
12
11
|
batch_loss_modelB.backward() # ② 👈①をやめない限り、エラー発生(メッセージ内容は↓)
|
13
12
|
```
|
14
13
|
/usr/local/lib/python3.7/dist-packages/torch/_tensor.py in backward(self, gradient, retain_graph, create_graph, inputs)
|