質問編集履歴
2
追記しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -176,7 +176,11 @@
|
|
176
176
|
|
177
177
|
### まとめ
|
178
178
|
個人的にはlossの値がおかしいのだろうなとは思っていますが、具体的にどうおかしくて、どう訂正すればいいのかが見当がつきません。
|
179
|
+
bathsizeを4などに増やしたらむしろlossが上がってしまいました...
|
179
180
|
|
181
|
+
|
182
|
+
できれば画像を増やす以外の方法を教えていただけるとありがたいです。
|
183
|
+
|
180
184
|
なぜ、lossが振動してしまってるんでしょうかね....
|
181
185
|
labelが正しい形になっていないんですかね。その正しい形って何ですかね。
|
182
186
|
やっぱりどこをどういじればいいのかわからないのです。
|
1
ソースコードを変更しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -15,6 +15,7 @@
|
|
15
15
|
|
16
16
|
### ソースコード
|
17
17
|
実行コード(train.py)
|
18
|
+
バッチサイズ=32,epoch=100
|
18
19
|
```
|
19
20
|
import torch
|
20
21
|
import torch.nn as nn
|
@@ -80,20 +81,21 @@
|
|
80
81
|
|
81
82
|
# iterationの確定
|
82
83
|
sample_size = len(train_dataset) #129
|
83
|
-
# num_iters = sample_size // 32 #129 // 32 =
|
84
|
+
# num_iters = sample_size // 32 #129 // 32 = 32.03
|
84
85
|
|
85
86
|
#loss
|
86
87
|
criterion = nn.CrossEntropyLoss()
|
87
88
|
|
88
89
|
losses = []
|
89
90
|
#start epoch
|
90
|
-
epoch_num =
|
91
|
+
epoch_num = 100
|
91
92
|
for epoch in range(epoch_num): # loop over the dataset multiple times
|
92
93
|
epoch_loss = 0
|
93
94
|
for i, data in enumerate(train_loader, 0):
|
94
95
|
# get the inputs; data is a list of [inputs, labels]
|
95
96
|
inputs, labels = data[0].to(device), data[1].to(device)
|
96
|
-
print(labels)
|
97
|
+
# print("label={}".format(labels))
|
98
|
+
print("inputs={}".format(inputs))
|
97
99
|
# zero the parameter gradients
|
98
100
|
optimizer.zero_grad()
|
99
101
|
# forward + backward + optimize
|
@@ -126,48 +128,52 @@
|
|
126
128
|
|
127
129
|
plot_history(losses)
|
128
130
|
|
131
|
+
|
129
132
|
```
|
130
133
|
### 実行結果
|
131
134
|
個人的にいかがおかしいのではないかと思い、以下をprintしていますので、こちらの実行結果を貼ります。
|
132
135
|
```
|
133
|
-
inputs, labels = data[0].to(device), data[1].to(device)
|
136
|
+
inputs, labels = data[0].to(device), data[1].to(device)
|
134
|
-
print(labels)
|
137
|
+
print("label={}".format(labels))
|
135
138
|
```
|
136
139
|
結果
|
137
140
|
```
|
138
141
|
|
139
142
|
$ python train.py
|
140
|
-
tensor([0,
|
143
|
+
label=tensor([0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1,
|
141
|
-
|
144
|
+
1, 0, 1, 0, 0, 0, 0, 0], device='cuda:0')
|
142
145
|
torch.Size([32, 9216])
|
143
|
-
tensor([0, 0,
|
146
|
+
label=tensor([0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1,
|
144
|
-
|
147
|
+
0, 1, 1, 0, 1, 1, 1, 1], device='cuda:0')
|
145
148
|
torch.Size([32, 9216])
|
146
|
-
tensor([0, 1,
|
149
|
+
label=tensor([0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1,
|
147
|
-
0, 1,
|
150
|
+
0, 1, 1, 0, 1, 1, 1, 0], device='cuda:0')
|
148
151
|
torch.Size([32, 9216])
|
149
|
-
tensor([
|
152
|
+
label=tensor([1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1,
|
150
|
-
|
153
|
+
1, 1, 0, 0, 1, 1, 0, 0], device='cuda:0')
|
151
154
|
torch.Size([32, 9216])
|
152
|
-
tensor([
|
155
|
+
label=tensor([1], device='cuda:0')
|
153
156
|
torch.Size([1, 9216])
|
154
|
-
tensor([0,
|
157
|
+
label=tensor([0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1,
|
155
|
-
|
158
|
+
1, 0, 1, 1, 1, 0, 0, 1], device='cuda:0')
|
156
159
|
torch.Size([32, 9216])
|
157
|
-
tensor([
|
160
|
+
label=tensor([0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0,
|
158
|
-
1,
|
161
|
+
1, 0, 0, 1, 1, 0, 1, 1], device='cuda:0')
|
159
162
|
torch.Size([32, 9216])
|
160
|
-
tensor([0, 1,
|
163
|
+
label=tensor([0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0,
|
161
|
-
0, 0, 1,
|
164
|
+
0, 0, 1, 1, 1, 0, 1, 0], device='cuda:0')
|
162
165
|
torch.Size([32, 9216])
|
163
|
-
tensor([0, 0,
|
166
|
+
label=tensor([0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0,
|
164
|
-
0, 1, 0, 1, 1, 0, 0,
|
167
|
+
0, 1, 0, 1, 1, 0, 0, 1], device='cuda:0')
|
165
168
|
torch.Size([32, 9216])
|
166
|
-
tensor([1], device='cuda:0')
|
169
|
+
label=tensor([1], device='cuda:0')
|
167
170
|
torch.Size([1, 9216])
|
168
171
|
Finished Training
|
169
172
|
```
|
170
173
|
|
174
|
+
次にinputの中身を表示したいと思います。
|
175
|
+
|
176
|
+
|
171
177
|
### まとめ
|
172
178
|
個人的にはlossの値がおかしいのだろうなとは思っていますが、具体的にどうおかしくて、どう訂正すればいいのかが見当がつきません。
|
173
179
|
|