人工知能プログラミングやってくブログ

深層学習・機械学習・AIについて調べてやってみたことをまとめるブログです

Fashion-MNISTを畳み込みニューラルネットワークで判定する簡単サンプル

https://gyazo.com/0fb719497a8b66ad998d1235af27d901 「Fashion-MNISTは、MNISTとほぼ同じで画像ファイルが違うだけだから、MNISTの畳み込みニューラルネットワークで判定できるだろうな」
とは思ったんですが、一応確認のためにやってみました。

Fashion-MNISTをCNNで学習しモデルを保存

Kerasのエグザンプルに入っているmnist_cnn.pyをちょっと書き換えて作りました。

python fashion-mnist_cnn_train.py

実行すると学習が行われます。

学習したモデルを読み込んでFashion-MNIST画像を認識させるコード

jupyter notebookで使えます。

GitHubリポジトリ

github.com

ここに学習したモデル込みのコードを置きました。

学習回数に関する考察

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エポックがほぼ適正な学習回数のようだ。