Chainer2でMNIST(1)
Chainer2の本を衝動買い!
Chainerとっつきにくくて避けていた私でも、なんとなく概要が分かった気がしました。
(環境)
Windows 8.1
Anaconda
Python 3.5
Chainer 2.0
(1)以下のサイトのコードをJupyter notebook上で実行してみる。
https://qiita.com/abechi_17/items/b271b7042fae126616d7
Chainer 2.0 のMNISTサンプルで推論を動かす
abechi_17
2017年07月01日に投稿
コード
https://github.com/abechi/chainer_mnist_predict
これの、train.py を実行してみたい。Python 2で書かれているとのことだが、Python 3との違いが from __future__ import print_function 以外分からない。
Chainer 2.0 のMNISTサンプル(公式Document)
https://github.com/chainer/chainer/tree/v2.0.0/examples/mnist
(2)Jupyter Notebookの起動
https://github.com/abechi/chainer_mnist_predict/blob/master/train_mnist.py
のコードをコピペしてShift + Enter を押しても、よく分からないエラー。がっくし。
(3)Jupyter notebookはあきらめて、Anaconda Promptで試してみる。
C:/py/chainer2/MNIST/ フォルダ下に、train_mnist.py というファイルを作成し、以下のコードをコピペして保存。
https://github.com/abechi/chainer_mnist_predict/blob/master/train_mnist.py
Anaconda Prompt (Python 3.5, Chainer 2.0の仮想環境「chainer2」)で、以下を実行。
python train_mnist.py --epoch 3
貧弱なノートパソコンなので、epoch 3 にして実行。3分くらいかかって、以下のように結果が出た!
MNISTフォルダは、最初はtrain_mnist.pyファイルしかなかったのが、以下のようなファイルやフォルダが作成されている。
accuracy.jpg
loss.png
(4)最初の「from __future__ import print_function」が気持ち悪いので、コメントアウトして実行してみる。
Anaconda Promptで、以下を実行。
python train_mnist.py --epoch 3
うまくいった。
(5)以下のサイトを参考(コピペ)して、flaskとあわせてみる
https://recipe.narekomu-ai.com/2017/10/chainer_web_demo_2/
ChainerとFlaskで作る機械学習デモアプリ 後編 Webアプリの構築 2017/10/6
Anaconda promptで以下を実行。
python predict.py
WEBブラウザで、http:/localhost:5000 を開く
エラー。
predict.py を、以下のように変更。
Anaconda promptでCtrl+Cで一回stopしてから、もう一度、以下を実行。
python predict.py
WEBブラウザで、http:/localhost:5000 を開く
答えは思いっきり間違っているけど、predictは実行できた!
これをWEB上にデプロイできれば、もっとうれしいのだけれど。
ちなみに、28×28 pixelのpng画像のみpredictできる仕様であるらしい。
なんじゃこりゃ?
白黒反転画像のみらしい。。。
次は、このコードの内容を一つずつ、追っていきたい。
ディスカッション
コメント一覧
まだ、コメントがありません