===== Kerasで手書き文字認識MNIST ===== Keras公式サイトのMLP(Multi Layer Perceptron)を用いたMNIST\\ https://github.com/fchollet/keras/blob/master/examples/mnist_mlp.py\\ を実行してみます。 (環境)\\ Dell XPS 8700\\ Core i7-4770 3.40 GHz\\ RAM 32GB\\ GPU NVIDIA GeForce GTX 660\\ Windows 7 Pro 64bit\\ Python 3.5.2\\ Anaconda 4.3.1\\ Tensorflow 1.2\\ Keras 2.0\\ ==== (1)Anacondaのインストール ==== [[http://twosquirrel.mints.ne.jp/dokuwiki/doku.php/windows%E3%81%A7python%E3%82%92%E5%A7%8B%E3%82%81%E3%82%8B%E6%96%B9%E6%B3%952017%E5%B9%B4%E7%89%88#3_windowsパソコンにanacondaをインストール_所要時間_約40分間|Windowsパソコンにanacondaをインストール]]をご覧ください。 ==== (2)Tensorflow のインストール ==== Windowsのスタートボタン > Anaconda3(64-bit) > Anaconda Prompt をクリックして、Anaconda Promptを開いたのち、以下のコマンドを入力して、tensorflowをインストール。 pip install --upgrade tensorflow pip install --upgrade -I setuptools pip install --upgrade tensorflow その後、以下のコマンドを入力してjupyter notebookを立ち上げる。 jupyter notebook ブラウザが自動的に立ち上がったら、Newで新しいipynbファイルを作成し、以下を入力してShift+Enterで実行。 import tensorflow as tf hello = tf.constant('Hello, TensorFlow!') sess = tf.Session() sess.run(hello) すると、以下のように、b'Hello, TensorFlow!'と表示される。 {{:pasted:20170723-232944.png}} ==== (3)Keras 2.0のインストール ==== Anaconda Prompt上で、Ctrl+Cで、jupyter notebookを一時停止してから、以下のコマンドを入力。 pip install keras {{:pasted:20170723-233326.png}} keras-2.0.6 がインストールされた。kerasが動いているか確認する。 python import keras うまくインストールされている場合は、以下のように、"Using TensorFlow backend."と表示される。 {{:pasted:20170723-233552.png}} 以下のように表示されてうまくいかない場合がある。 {{:pasted:20170723-233652.png}} 上記の場合は、backendをTheanoからTensorflowに変更する。 ==== (3)KerasのbackendをTheanoからTensorflowに変更 ==== C:\ユーザ\(*ユーザーネーム*)\.keras\  の中にある、keras.jsonをVisualStudioCodeで開く。 {{:pasted:20170723-234026.png}} [[http://qiita.com/samacoba/items/3e29f0ac61c2f369892b|こちらのサイト]]を参考に、keras.jsonを変更する。 (変更前) {{:pasted:20170723-234044.png}} (変更後) {{:pasted:20170723-234055.png}} その後、もう一度、Anaconda Promptから、jupyter notebookを立ち上げて、import kerasを入力して、Ctrl+Enterで実行すると、以下のようになり、Tensorflow backendのKerasがインストールされたことが確認できる。 {{:pasted:20170723-234413.png}} ==== (4)Keras 2.0でMNIST手書き文字認識を、MLPモデルで実装 ==== jupyter notebook上で、[[https://github.com/m0t0k1ch1/keras-sample/blob/master/mnist_mlp.py|こちらのGitHubのソースコード]]をコピペしてShift+Enterで実行。 {{:pasted:20170723-234556.png}} {{:pasted:20170723-234629.png}} このコードは20 Epoch計算を繰り返すのであるが、ノートパソコンでTensorflow(CPU) backendで実行すると、1Epochあたり32秒くらいずつかかっていました(下記参照)。デスクトップパソコン(GPUがNVIDIA GeForce GTX 660)を用いて、Tensorflow(GPU) backendで実行すると、1 Epochあたり2秒ずつくらいになり、全部で1分くらいで計算が完了しました。 次からは、しばらく、このMNIST手書き数字認識のプログラムを解説していきたいと思います。 次:[[Kerasプログラミングの全体図]] Windows8.1(ノートパソコン)にKeras2.0をインストールしてMNIST 2017/7/19\\ http://twosquirrel.mints.ne.jp/?p=18978 Windows7でTensorflow1.0-GPUの環境構築(2017年5月版) 2017/5/20\\ http://twosquirrel.mints.ne.jp/?p=17040 ===== 参考文献 ===== Keras バックエンドの変更 samacoba 2017年03月20日に投稿\\ http://qiita.com/samacoba/items/3e29f0ac61c2f369892b Keras公式サイトのMLP(Multi Layer Perceptron)を用いたMNIST\\ https://github.com/fchollet/keras/blob/master/examples/mnist_mlp.py はじめての Deep Learning - Keras で MLP for MNIST Published Fri, Jul 15, 2016 by m0t0k1ch1\\ http://m0t0k1ch1st0ry.com/blog/2016/07/15/keras/ 上記サイト作者様作成の日本語解説付きコード\\ https://github.com/m0t0k1ch1/keras-sample/blob/master/mnist_mlp.py 人工知能に関する断創録 2016-11-09 KerasでMNIST\\ http://aidiary.hatenablog.com/entry/20161109/1478696865 =====MNISTデータセットについて===== PythonでMNISTを利用する方法まとめ ToshikiShimizu 2016年08月02日に投稿\\ http://qiita.com/ToshikiShimizu/items/6bfacef12dafd63b1080 TensorFlow : ML 初心者向けの MNIST (コード解説) 投稿者: Masashi Okumura in MNIST, TensorFlow 投稿日: 03/09/2016.\\ http://tensorflow.classcat.com/2016/03/09/tensorflow-cc-mnist-for-ml-beginners/ DeepLearningだ!と意気込んだものの手書き数字認識の後に続かなくなった時に読むデータそのものの話 EnsekiTT 2016年03月30日に更新\\ http://qiita.com/EnsekiTT/items/66ae1b00a0fefbd036d0 2014-07-23 MNIST 手書き数字データを画像ファイルに変換する\\ http://y-uti.hatenablog.jp/entry/2014/07/23/074845\\ 本家サイトはバイナリファイルでデータを配布しており、そのデータをテキストファイルに変換したり、実際の画像を表示する方法が詳しく書かれている。 2017年3月7日 更新 1 3,700 view Deep learningで画像認識⑤〜Kerasで畳み込みニューラルネットワーク vol.1〜\\ https://lp-tech.net/articles/gjZvu =====リンク===== 次: [[Kerasプログラミングの全体図]]\\ [[sidebar|目次]]\\ 前: [[WindowsにKeras2.0をインストール]] \\