スポンサーリンク

もう一度ChainerでMNISTで推測

わけわからんChainer、いや、本当に難しいです。

自分でがちゃがちゃやったが一向に動かないので、ついにあきらめて、公式コードを写経し直す。

<20171114追記>

Chainer2、腰を据えて勉強し直しまして、MNISTについてまとめてみましたので、もしよろしければ以下のリンクをご覧ください。

Chainerプログラミングの全体図

 

<20171102追記>

推測するときにエラーが出ていたのだが、L.Classifier を通さずにモデルのオブジェクトを作っていたのが原因であったことが後で分かった。

https://qiita.com/abechi_17/items/b271b7042fae126616d7

 

https://github.com/chainer/chainer/tree/v2.0.0/examples/mnist

ほぼ公式の解説
https://qiita.com/mitmul/items/eccf4e0a84cb784ba84a

ビギナーといいつつ、プロの中のビギナーなんでしょうね。素人お断り感が半端ないですが、徐々に、徐々に、少しずつ、、、

(環境)
Panasonic CF-RZ4
Windows 8.1 Pro
Anaconda 4.4.0
Python 3.5
PHP 5.6.23

Chainer2.0は以下のようにインストールし、再開時は、activate chainer2で仮想環境を起動。

http://twosquirrel.mints.ne.jp/?p=19928

(1)https://github.com/chainer/chainer/blob/v2.0.0/examples/mnist/train_mnist.py をコピペして、さいごの方に、以下の2行を追加。

 

# モデル保存のためのコードを追加。
 chainer.serializers.save_npz('mnist.model', model)

追加後のコードは以下に記載。

(2)Anaconda promptで、以下を入力

 

cd c:/py/chainer2/MNIST_MLP

activate chainer2
python training_mnist_original.py

training_mnist_original.py と同じフォルダに、my_mnist.model が保存される。

また、result/ フォルダの中に、図などが保存される。

(3)推測

以下のコードをコピペ

Anaconda Promptで、

python predict_original.py

いずれ、このコードをゆっくり解読して、解説したい。

(参考)ChainerとFlaskで作る機械学習デモアプリ 前編 モデルの作成と保存 2017/10/6
https://recipe.narekomu-ai.com/2017/10/chainer_web_demo_1/

 

● chainer.datasets.get_mnist() について

https://docs.chainer.org/en/stable/reference/generated/chainer.datasets.get_mnist.html