質問編集履歴
2
追記しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -354,6 +354,14 @@
|
|
354
354
|
|
355
355
|
個人的にはlossの値がおかしいのだろうなとは思っていますが、具体的にどうおかしくて、どう訂正すればいいのかが見当がつきません。
|
356
356
|
|
357
|
+
bathsizeを4などに増やしたらむしろlossが上がってしまいました...
|
358
|
+
|
359
|
+
|
360
|
+
|
361
|
+
|
362
|
+
|
363
|
+
できれば画像を増やす以外の方法を教えていただけるとありがたいです。
|
364
|
+
|
357
365
|
|
358
366
|
|
359
367
|
なぜ、lossが振動してしまってるんでしょうかね....
|
1
ソースコードを変更しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -32,6 +32,8 @@
|
|
32
32
|
|
33
33
|
実行コード(train.py)
|
34
34
|
|
35
|
+
バッチサイズ=32,epoch=100
|
36
|
+
|
35
37
|
```
|
36
38
|
|
37
39
|
import torch
|
@@ -162,7 +164,7 @@
|
|
162
164
|
|
163
165
|
sample_size = len(train_dataset) #129
|
164
166
|
|
165
|
-
# num_iters = sample_size // 32 #129 // 32 =
|
167
|
+
# num_iters = sample_size // 32 #129 // 32 = 32.03
|
166
168
|
|
167
169
|
|
168
170
|
|
@@ -176,7 +178,7 @@
|
|
176
178
|
|
177
179
|
#start epoch
|
178
180
|
|
179
|
-
epoch_num =
|
181
|
+
epoch_num = 100
|
180
182
|
|
181
183
|
for epoch in range(epoch_num): # loop over the dataset multiple times
|
182
184
|
|
@@ -188,7 +190,9 @@
|
|
188
190
|
|
189
191
|
inputs, labels = data[0].to(device), data[1].to(device)
|
190
192
|
|
191
|
-
print(labels)
|
193
|
+
# print("label={}".format(labels))
|
194
|
+
|
195
|
+
print("inputs={}".format(inputs))
|
192
196
|
|
193
197
|
# zero the parameter gradients
|
194
198
|
|
@@ -254,6 +258,8 @@
|
|
254
258
|
|
255
259
|
|
256
260
|
|
261
|
+
|
262
|
+
|
257
263
|
```
|
258
264
|
|
259
265
|
### 実行結果
|
@@ -262,9 +268,9 @@
|
|
262
268
|
|
263
269
|
```
|
264
270
|
|
265
|
-
inputs, labels = data[0].to(device), data[1].to(device)
|
271
|
+
inputs, labels = data[0].to(device), data[1].to(device)
|
266
|
-
|
272
|
+
|
267
|
-
print(labels)
|
273
|
+
print("label={}".format(labels))
|
268
274
|
|
269
275
|
```
|
270
276
|
|
@@ -276,59 +282,59 @@
|
|
276
282
|
|
277
283
|
$ python train.py
|
278
284
|
|
279
|
-
tensor([0,
|
285
|
+
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,
|
280
|
-
|
286
|
+
|
281
|
-
|
287
|
+
1, 0, 1, 0, 0, 0, 0, 0], device='cuda:0')
|
282
|
-
|
288
|
+
|
283
|
-
torch.Size([32, 9216])
|
289
|
+
torch.Size([32, 9216])
|
284
|
-
|
290
|
+
|
285
|
-
tensor([0, 0,
|
291
|
+
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,
|
286
|
-
|
292
|
+
|
287
|
-
|
293
|
+
0, 1, 1, 0, 1, 1, 1, 1], device='cuda:0')
|
288
|
-
|
294
|
+
|
289
|
-
torch.Size([32, 9216])
|
295
|
+
torch.Size([32, 9216])
|
290
|
-
|
296
|
+
|
291
|
-
tensor([0, 1,
|
297
|
+
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,
|
292
|
-
|
298
|
+
|
293
|
-
0, 1,
|
299
|
+
0, 1, 1, 0, 1, 1, 1, 0], device='cuda:0')
|
294
|
-
|
300
|
+
|
295
|
-
torch.Size([32, 9216])
|
301
|
+
torch.Size([32, 9216])
|
296
|
-
|
302
|
+
|
297
|
-
tensor([
|
303
|
+
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,
|
298
|
-
|
304
|
+
|
299
|
-
|
305
|
+
1, 1, 0, 0, 1, 1, 0, 0], device='cuda:0')
|
300
|
-
|
306
|
+
|
301
|
-
torch.Size([32, 9216])
|
307
|
+
torch.Size([32, 9216])
|
302
|
-
|
308
|
+
|
303
|
-
tensor([
|
309
|
+
label=tensor([1], device='cuda:0')
|
304
310
|
|
305
311
|
torch.Size([1, 9216])
|
306
312
|
|
307
|
-
tensor([0,
|
313
|
+
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,
|
308
|
-
|
314
|
+
|
309
|
-
|
315
|
+
1, 0, 1, 1, 1, 0, 0, 1], device='cuda:0')
|
310
|
-
|
316
|
+
|
311
|
-
torch.Size([32, 9216])
|
317
|
+
torch.Size([32, 9216])
|
312
|
-
|
318
|
+
|
313
|
-
tensor([
|
319
|
+
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,
|
314
|
-
|
320
|
+
|
315
|
-
1,
|
321
|
+
1, 0, 0, 1, 1, 0, 1, 1], device='cuda:0')
|
316
|
-
|
322
|
+
|
317
|
-
torch.Size([32, 9216])
|
323
|
+
torch.Size([32, 9216])
|
318
|
-
|
324
|
+
|
319
|
-
tensor([0, 1,
|
325
|
+
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,
|
320
|
-
|
326
|
+
|
321
|
-
0, 0, 1,
|
327
|
+
0, 0, 1, 1, 1, 0, 1, 0], device='cuda:0')
|
322
|
-
|
328
|
+
|
323
|
-
torch.Size([32, 9216])
|
329
|
+
torch.Size([32, 9216])
|
324
|
-
|
330
|
+
|
325
|
-
tensor([0, 0,
|
331
|
+
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,
|
326
|
-
|
332
|
+
|
327
|
-
0, 1, 0, 1, 1, 0, 0,
|
333
|
+
0, 1, 0, 1, 1, 0, 0, 1], device='cuda:0')
|
328
|
-
|
334
|
+
|
329
|
-
torch.Size([32, 9216])
|
335
|
+
torch.Size([32, 9216])
|
330
|
-
|
336
|
+
|
331
|
-
tensor([1], device='cuda:0')
|
337
|
+
label=tensor([1], device='cuda:0')
|
332
338
|
|
333
339
|
torch.Size([1, 9216])
|
334
340
|
|
@@ -338,6 +344,12 @@
|
|
338
344
|
|
339
345
|
|
340
346
|
|
347
|
+
次にinputの中身を表示したいと思います。
|
348
|
+
|
349
|
+
|
350
|
+
|
351
|
+
|
352
|
+
|
341
353
|
### まとめ
|
342
354
|
|
343
355
|
個人的にはlossの値がおかしいのだろうなとは思っていますが、具体的にどうおかしくて、どう訂正すればいいのかが見当がつきません。
|