AI coordinator

人工知能 & ロボティクス

© AI coordinator All rights reserved.

20178/29

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. この記事へのトラックバックはありません。

20176/5

Pepper SDK pynaoqi-python2.7-2.5.5.5-mac64 パスの通し方 for MAC

Pepper SDK 2.5.5.5 コレグラフの新しいバージョン2.5.5.5に対応したpython SDKのパスの通し方に付いて説明し…

R-CNNを「Tensorflow x Pepper」で実装する方法

アトリエ秋葉原で勉強会を開催 アトリエ秋葉原で勉強会の講師を努めさせて頂きました。 独学でDeepLearningを学んで「Tens…

Tensorflowで映像からの美人女優顔検出学習モデルの見直し

以前の記事で紹介したモデルが使い物にならなかった 以前紹介したリアルタイム映像からの美人女優検出で作成した学習モデルは、とりあえず学習モデ…

対話ができる?kerasで英文を自動生成するLSTMモデルの作成方法

英文だけど、LSTMモデルを作成して文章を自動生成できるか試してみた 文章を自動生成できるようになれば、AIも大きく進化するなぁ〜なんて日…

20173/5

Pepper用Python 2.7 SDK(WIN)セットアップ方法

コレグラフを使用しなくてもPepperを動かせるPython 2.7 SDKセットアップ方法 Windows編 前回に続き、今回はWind…

自然言語解析の形態素解析 janome を使ってみよう

形態素解析 janome とは 簡単に説明しますと、自然言語の文章を意味を持つ最長単位に分割し、品詞を判別することができるライブラリです。…

20177/25

カメラ映像から動く物体の輪郭検出が簡単にできた話

OpenCVを使って動く物体の輪郭検出をやってみた 今更ながらにOpenCVの凄さを実感しました。 まさか物体の輪郭検出までできると…

20175/7

綺麗にAnacondaをアンイストールする方法 For macOS

Anacondaのアンインストールメモ macOSにインストールしたAnacondaのアンインストールに手こずったので、忘れないようにする…

Watson NLCに学習データを投入できるGUIの開発方法

Watson NLCに学習データを投入できる画面をPythonで実装する方法 Watson NLCに学習データを投入できる簡単な画面を開発…

ディープラーニングで美人女優の顔検出に挑戦

美人女優で学習モデルを作成 以前紹介したcifar10を使った学習モデルのモノマネで、自分で準備した画像から学習モデルを作成することに挑戦…

ページ上部へ戻る