回答編集履歴
3
修正
answer
CHANGED
@@ -17,7 +17,7 @@
|
|
17
17
|
# forward + backward + optimize
|
18
18
|
outputs = model(inputs)
|
19
19
|
loss = criterion(outputs, labels)
|
20
|
-
epoch_loss.append(loss)
|
20
|
+
epoch_loss.append(float(loss))
|
21
21
|
|
22
22
|
losses.append(np.mean(epoch_loss)) # そのエポックの損失の平均を記録
|
23
23
|
```
|
2
修正
answer
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
losses = []
|
9
9
|
|
10
10
|
for epoch in range(300): # loop over the dataset multiple times
|
11
|
-
epoch_loss =
|
11
|
+
epoch_loss = []
|
12
12
|
for i, data in enumerate(train_loader, 0):
|
13
13
|
# get the inputs; data is a list of [inputs, labels]
|
14
14
|
inputs, labels = data[0].to(device), data[1].to(device)
|
@@ -17,9 +17,9 @@
|
|
17
17
|
# forward + backward + optimize
|
18
18
|
outputs = model(inputs)
|
19
19
|
loss = criterion(outputs, labels)
|
20
|
-
epoch_loss
|
20
|
+
epoch_loss.append(loss)
|
21
|
-
|
21
|
+
|
22
|
-
losses.append(
|
22
|
+
losses.append(np.mean(epoch_loss)) # そのエポックの損失の平均を記録
|
23
23
|
```
|
24
24
|
|
25
25
|
最後に以下を実行
|
1
修正
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
> 学習曲線(lossの値をepochごとにプロットしたグラフ)を作っていったん学習を見てみようと思うのですが、どのように実装すればいいのでしょうか...?
|
2
2
|
|
3
|
-
エポックごとにそのエポックの loss の平均を
|
3
|
+
エポックごとにそのエポックの loss の平均を計算し、それをリストに追加していって、あとから matplotlib で描画すればよいと思います。
|
4
4
|
|
5
5
|
変更箇所一部抜粋
|
6
6
|
|