TensorFlowでFashion-MNISTを試してみた

ファッション画像?でMNIST

Fashion-MNISTというデータセットが公開されたので早速試してみました。

MNISTとの違いは数字データがファッション画像になっているところです。

どんなデータが入っているかというと、

ラベル データ
0  T-shirt/top
1  Trouser
2  Pullover
3  Dress
4  Coat
5  Sandal
6  Shirt
7  Sneaker
8  Bag
9  Ankle boot

 

なんで、そんなデータセットができたのかというと、公式サイトには以下のように書かれていました。

・MNISTは簡単すぎるし、既にみんな使っているから

だそうです。

 

う〜ん、なるほど。

 

いまいちピンとこないので、実際に動かしてみました。

 

参考サイト

以下、サイト(日本語版)を参考にしました。

TensorFlow: TensorFlow で Fashion-MNIST

 

開発環境

iMac (27-inch, Late 2012)

プロセッサ 2.9 GHz intel Core i5

macOS Sierra バージョン 10.12.4

Anaconda3-4.2.0-MacOSX-x86_64

python 3.5.2

tensorflow 1.0.0

keras 1.2.2

 

どんな画像が入っているのか除いてみました。

とりあえず1枚のトレーニング画像とテストデータを抜き出してみました。

以下のソースコードで簡単に抜き出せます。

抜き出した画像は ‘train.png’と’test.png’という名前で保存されます。

ちっさ!!

そりゃそうですね。28×28サイズですから。

 

MNISTと比較してみた。

従来の数字のみのMNISTと、今回公開されたFashion-MNISTを比較してみます。

まずは従来の数字のみMNISTの結果です。

Epoch = 2で試した結果、

accuracy = 0.9679と、たった2回の学習でかなりの精度が出ています。

 

続いて、Fashion-MNISTの結果です。

accuracy = 0,8764となりました。

 

確かに、数字のみMNISTよりもFashion-MNISTの方が精度が出にくい感じですね。

難易度が上がったことが実感できました。

 

Fashion-MNISTを試したソースコード

試したい方は、以下のサイトからデータをクローンしましょう。

https://github.com/zalandoresearch/fashion-mnist

 

実行するには、公式サイトにも記載があるように、

utils/mnist_reader を使用する必要があります。

 

筆者は、いきなりこれにハマりました。

を実行するために、utils/mnist_reader が必要になります。

このモジュールは、上記サイトからクローンしたフォルダ内にあります。

これがないと、データをimportできません。

 

以下、今回使用したソースコードになります。

数字版MNISTの使い回しなので、コメントなど適当なのはご容赦ください。

 

精度を出すために、epoch = 50 で実施してみた結果、

なるほど。

epoch = 10 あたりから、過学習が発生しています。

精度をあげるには学習モデルの工夫が必要そうですね。

確かに従来のMNISTよりFashion-MNISTの方が難易度が上がっていますね。

どんな学習モデルにすれば精度が出るのか考えることで、色々勉強になりそうです。

 

興味がある方は参考にしてみてください。

また、これからDeep Learningの勉強をするなら、こちらで紹介する書籍も参考になりますので一読してみることをオススメします。

 

その他のPython記事はこちらから

 

それではまた。

あなたにオススメの記事

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

PAGE TOP