「Chainer v2による実践深層学習」を写経してみる(1)MNIST-NN
最近、衝動買いしてしまった以下の本。
Google検索しながら、chainerのtrainerを使用しない方法でMNISTをやろうとしたが、うまくいかず。
あきらめて、trainerを使用する方法を写経してみる
上記本のサンプルコード
http://www.ohmsha.co.jp/data/link/978-4-274-22107-1/index.htm
(環境)
Panasonic CF-RZ4
Windows 8.1 Pro
Anaconda 4.4.0
Python 3.5
Chainer 2.0
(1)本の附属のmnist-nn.pyを、Jupyter Notebook上で写経してみる
Shift + Enterで実行。うまくいった。
(2)最後に、以下の1行を追加して、再度実行。
chainer.serializers.save_npz('my_mnist.model’, model) # Added
(参考)https://qiita.com/abechi_17/items/b271b7042fae126616d7
predict_mnist.py を新規作成し、上記サイトのコードをコピペ。
と思ったが、結局うまくいかず。。。
(3)もう一度、以下のサイトの写経にtryしてみる。といっても、前編のtrain_mnist.py が見つけられず、昨日はできなかったが、今回は、公式サイトのtagをv2にして、コピペしてみた。
ChainerとFlaskで作る機械学習デモアプリ 前編 モデルの作成と保存
2017/10/6
https://recipe.narekomu-ai.com/2017/10/chainer_web_demo_1/
ChainerとFlaskで作る機械学習デモアプリ 後編 Webアプリの構築
2017/10/6
https://recipe.narekomu-ai.com/2017/10/chainer_web_demo_2/
公式Github MNIST tag v2 chainer/examples/mnist/train_mnist.py
https://github.com/chainer/chainer/blob/v2/examples/mnist/train_mnist.py
(3-1)https://github.com/chainer/chainer/blob/v2/examples/mnist/train_mnist.py
のコードを、train_mnist.py にコピペしたのち、下から3行目あたりに、以下の1行を追加。
chainer.serializers.save_npz('mnist.model', model)
(3-2)Anaconda Promptで以下を実行。
python train_mnist.py
これにより、train_mnist.py と同じフォルダに、mnist.model というファイルが作成される。
(3-3)templates/ フォルダを作成、その中に、index.html ファイルを作成して、https://recipe.narekomu-ai.com/2017/10/chainer_web_demo_2/
のコードをコピペして保存。
(3-4)train_mnist.py と同じフォルダに、predict.py ファイルを作成して、https://recipe.narekomu-ai.com/2017/10/chainer_web_demo_2/
のコードをコピペして保存。なお、38行目のload_npz() の一つ目の引数を、
'mnist.model’
に変更して、保存する。
(3-5)空の、static/ フォルダを作成しておく。
(3-6)Anaconda Promptで、以下を実行。
python train_mnist.py
(3-7)WEBブラウザで、localhost:5000 を開いて、28×28の白黒反転手書き数字をアップロードすると、ちゃんと判定してくれた!感動!
なお、画像は、Windows8.1付属の「ペイント」で作成した。
やっと、chainer + flaskで、画像を推測することができるようになった。。。
あともう少し。。。
ディスカッション
コメント一覧
まだ、コメントがありません