【Keras】cifar10の画像分類をやってみた

 

ディープラーニング用の画像データセットcifar10を使って、画像の分類にチャレンジしてみました。

 

スポンサーリンク

 

cifar10とは

 

飛行機や車、カエルなどを含む10種類の画像データセットです。kerasには、データセットをダウンロードする関数があります。

 

 

コードを実行すると、トロント大学からデータセットをダウンロードしてきます。私の環境では2分ほどかかりました。

 

 

 

解像度は32*32のカラー画像で、学習用に5万枚、テスト用に1万枚あることがわかりました。

 

MLPを使って分類

 

ディープラーニングの1つである多層パーセプトロン(MLP)のアルゴリズムを使って分類してみます。

 

 

コードを実行すると20分程度かかりました。

 

 

適当に分類したとすると10%(1/10)なのでそれよりはソコソコ分類できているようです。

 

CNNを使って分類

 

ディープラーニングの1つであるCNN(畳み込みニューラルネットワーク)を使って分類してみます。

 

 

 

MLPに比べてかなり精度が上がっています。

 

ワンポイントアドバイス
CNNを動かす場合には、かなり時間がかかります。そういう場合は、Jupyter Notebook上ではなく、SSHでUbuntuにログインしコマンドで実行するのをオススメします。Ubuntuで実行する場合、screenコマンドでセッションを作りそこでPythonファイルを実行しておけば好きなときに結果を確認できます。

 

2019/2/20追記:

CPUを使った場合の実行時間は250分、Geforce GTX1060を使って動かした時の実行時間は、12.5分でした。速度が約20倍違いますので、GPUを使って動かすのをオススメします。

参考

ABOUTこの記事をかいた人

のっくん

理系院卒で大企業の研究所に就職。 趣味はプログラミング、レアジョブ英会話、筋トレ、旅行。 Twitter:@yamagablog