この文書の現在のバージョンと選択したバージョンの差分を表示します。
次のリビジョン | 前のリビジョン | ||
kerasで手書き文字認識mnist [2017/07/23] adash333 作成 |
kerasで手書き文字認識mnist [2018/10/07] (現在) |
||
---|---|---|---|
ライン 1: | ライン 1: | ||
===== Kerasで手書き文字認識MNIST ===== | ===== 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をインストール。 | ||
+ | |||
+ | <code> | ||
+ | pip install --upgrade tensorflow | ||
+ | pip install --upgrade -I setuptools | ||
+ | pip install --upgrade tensorflow | ||
+ | </code> | ||
+ | |||
+ | その後、以下のコマンドを入力してjupyter notebookを立ち上げる。 | ||
+ | |||
+ | <code> | ||
+ | jupyter notebook | ||
+ | </code> | ||
+ | |||
+ | ブラウザが自動的に立ち上がったら、Newで新しいipynbファイルを作成し、以下を入力してShift+Enterで実行。 | ||
+ | |||
+ | <code> | ||
+ | import tensorflow as tf | ||
+ | hello = tf.constant('Hello, TensorFlow!') | ||
+ | sess = tf.Session() | ||
+ | sess.run(hello) | ||
+ | </code> | ||
+ | |||
+ | すると、以下のように、b'Hello, TensorFlow!'と表示される。 | ||
+ | |||
+ | {{:pasted:20170723-232944.png}} | ||
+ | |||
+ | ==== (3)Keras 2.0のインストール ==== | ||
+ | Anaconda Prompt上で、Ctrl+Cで、jupyter notebookを一時停止してから、以下のコマンドを入力。 | ||
+ | |||
+ | <code> | ||
+ | pip install keras | ||
+ | </code> | ||
+ | |||
+ | {{:pasted:20170723-233326.png}} | ||
+ | |||
+ | keras-2.0.6 がインストールされた。kerasが動いているか確認する。 | ||
+ | |||
+ | <code> | ||
+ | python | ||
+ | import keras | ||
+ | </code> | ||
+ | |||
+ | うまくインストールされている場合は、以下のように、"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手書き数字認識のプログラムを解説していきたいと思います。 | ||
+ | |||
+ | 次:<wrap hi>[[Kerasプログラミングの全体図]]</wrap> | ||
+ | |||
+ | 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 | ||
- | (作成中) | + | ===== 参考文献 ===== |
- | Windows7にKeras2.0をインストールしてMNIST文字認識 | + | Keras バックエンドの変更 |
- | 2017/7/19 2017/7/20\\ | + | samacoba |
- | http://twosquirrel.mints.ne.jp/?p=19005 | + | 2017年03月20日に投稿\\ |
+ | http://qiita.com/samacoba/items/3e29f0ac61c2f369892b | ||
Keras公式サイトのMLP(Multi Layer Perceptron)を用いたMNIST\\ | Keras公式サイトのMLP(Multi Layer Perceptron)を用いたMNIST\\ | ||
ライン 31: | ライン 139: | ||
投稿者: Masashi Okumura in MNIST, TensorFlow 投稿日: 03/09/2016.\\ | 投稿者: Masashi Okumura in MNIST, TensorFlow 投稿日: 03/09/2016.\\ | ||
http://tensorflow.classcat.com/2016/03/09/tensorflow-cc-mnist-for-ml-beginners/ | 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 | ||
+ | |||
+ | =====リンク===== | ||
+ | 次: | ||
+ | <wrap hi> | ||
+ | [[Kerasプログラミングの全体図]]\\ | ||
+ | </wrap> | ||
+ | [[sidebar|目次]]\\ | ||
+ | 前: | ||
+ | <wrap hi> | ||
+ | [[WindowsにKeras2.0をインストール]] | ||
+ | </wrap>\\ | ||