Fashion-MNISTを畳み込みニューラルネットワークで判定する簡単サンプル
「Fashion-MNISTは、MNISTとほぼ同じで画像ファイルが違うだけだから、MNISTの畳み込みニューラルネットワークで判定できるだろうな」
とは思ったんですが、一応確認のためにやってみました。
Fashion-MNISTをCNNで学習しモデルを保存
Kerasのエグザンプルに入っているmnist_cnn.pyをちょっと書き換えて作りました。
python fashion-mnist_cnn_train.py
実行すると学習が行われます。
学習したモデルを読み込んでFashion-MNIST画像を認識させるコード
jupyter notebookで使えます。
GitHubリポジトリ
ここに学習したモデル込みのコードを置きました。
学習回数に関する考察
12エポック回したモデルと24エポック回したモデルの二つをgithubのリポジトリに入れときました。 元にしたKerasのサンプル、mnist_cnn.py に元々書いてあったのは12エポック。 一応、倍回してみたらどんなもんだろうな?と24エポックも回して見ました。
学習時に出力されたloss, acc, val_loss, val_acc を表にまとめたのが次のもの。
で、注目すべきは学習後、テストした結果の成績であるval_lossとval_acc。
12エポックと24エポックの比較グラフが次のもの。
12エポックも24エポックもval_loss、val_accとも似たような値なので、12エポックがほぼ適正な学習回数のようだ。