回答編集履歴

4

修正

2020/06/09 14:40

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -82,7 +82,7 @@
82
82
 
83
83
  valid_dataset = datasets.ImageFolder("imagenette-320/val", transform=valid_transform)
84
84
 
85
- train_loader = data.DataLoader(train_dataset, batch_size=128)
85
+ train_loader = data.DataLoader(train_dataset, batch_size=128, shuffle=True)
86
86
 
87
87
  valid_loader = data.DataLoader(valid_dataset, batch_size=128)
88
88
 

3

修正

2020/06/09 14:39

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -112,6 +112,10 @@
112
112
 
113
113
  mobilenetv2 (v1 は torchvision になかった) で imagenette-320 を学習するサンプルコードを作成したので、一応載せておきます。
114
114
 
115
+
116
+
117
+ ↓ こちらで試したコード
118
+
115
119
  [transfer-learning-mobilenetv2-imagenette320.ipynb](https://github.com/nekobean/pytorch-examples/blob/master/pytorch-transfer-learning/transfer-learning-mobilenetv2-imagenette320.ipynb)
116
120
 
117
121
 

2

修正

2020/06/09 14:24

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -87,3 +87,35 @@
87
87
  valid_loader = data.DataLoader(valid_dataset, batch_size=128)
88
88
 
89
89
  ```
90
+
91
+
92
+
93
+ ## 追記
94
+
95
+
96
+
97
+ > Accuracyが100%か0%としか出力されなくなってしました。
98
+
99
+ > これはデータアクセスの方法に問題があるのでしょうか。
100
+
101
+
102
+
103
+ データのアクセス方法は問題なさそうに見えます。
104
+
105
+ 100%や0%になるとのことですが、Accuracy や Loss はバッチ単位で表示しても激しく変動するので、あまり参考になりません。1エポックが終了したときにそのエポックの平均を算出して表示するようにしてみてはどうでしょうか。
106
+
107
+
108
+
109
+ また、学習が上手くいくかどうかは学習率やバッチサイズなどハイパーパラメータに左右されるので、あるデータセットやモデルで上手くいったものをそのまま別のものに使いまわしても同様に上手くいくとは限らないので、ハイパーパラメータを調整して、上手くいく値を見つける必要があります。
110
+
111
+
112
+
113
+ mobilenetv2 (v1 は torchvision になかった) で imagenette-320 を学習するサンプルコードを作成したので、一応載せておきます。
114
+
115
+ [transfer-learning-mobilenetv2-imagenette320.ipynb](https://github.com/nekobean/pytorch-examples/blob/master/pytorch-transfer-learning/transfer-learning-mobilenetv2-imagenette320.ipynb)
116
+
117
+
118
+
119
+ 参考
120
+
121
+ [Pytorch - 事前学習モデルを使ってクラス分類モデルを学習する方法](https://pystyle.info/pytorch-train-classification-problem-using-a-pretrained-model/)

1

修正

2020/06/09 14:18

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -28,7 +28,7 @@
28
28
 
29
29
 
30
30
 
31
- 今回、train と val はディレクトリ構成別れているので、1つのデータセットを2つに分割するのに使用する sampler を使う必要がそもそもないのではないでしょうか
31
+ 今回、train と val はディレクトリ構成として別れているので、1つのデータセットを2つに分割するのに使用する sampler を使う必要がそもそもないのではないでしょうか
32
32
 
33
33
 
34
34