===== (6)結果の出力と、学習結果パラメータの保存 =====
Chainer2でMNIST目次\\
[[Chainer2プログラミングの全体図]]
-[[(1)Chainer2を使用するためのimport文]]
-[[(2)データの準備・設定|(2)データの準備・設定(Chainer)]]
-[[(3)モデルの記述|(3)モデルの記述(Chainer)]]
-[[(4)モデルと最適化アルゴリズムの設定|(4)モデルと最適化アルゴリズムの設定(Chainer)]]
-[[(5)学習と結果の出力(Chainer)]]
-[[(6)結果の出力|(6)学習結果のパラメータの保存(Chainer)]] <= いまココ
-[[(7)推測|(7)推測(Chainer)]]
#6 学習結果のパラメータの保存
# Save paramaters
chainer.serializers.save_npz('my_mnist.model', model)
===== 開発環境 =====
Windows 8.1\\
Anaconda \\
Python 3.5\\
Chainer 2.0\\
Chainerのインストール方法は[[Chainer2.0をWindowsにインストール]]をご覧下さい。
このページは、[[(5)学習と結果の出力(Chainer)]]の続きであり、今回は、学習結果のパラメータの保存を行っていきます。
===== 手順 =====
==== 0. 前回終了時の画面 ====
[[(5)学習と結果の出力(Chainer)]]終了時の、以下のような状態から始めます。
{{:pasted:20171101-164954.png}}
==== 1. 結果の出力 ====
以下のコードを入力して、Shift + Enterを押します。
#6 結果の出力
ok = 0
for i in range(len(test)):
x = Variable(np.array([ test[i][0] ], dtype=np.float32))
t = test[i][1]
out = model.fwd(x)
ans = np.argmax(out.data)
if (ans == t):
ok += 1
print((ok * 1.0)/len(test))
すると、以下のような画面になります。
{{:pasted:20171101-165250.png}}
精度は96.6%との結果でした。
次に、この学習したモデルのパラメータを、「my_mnist.model」という名前で保存します。
#6.2 学習結果のパラメータ保存
chainer.serializers.save_npz('my_mnist.model', model)
{{:pasted:20171101-165650.png}}
すると、MNIST_MLP.ipynbと同じフォルダ(今回は、C:/py/chainer/MNIST_MLP/ フォルダ)に、「my_mnist.model」という名前のファイルが保存されます。次回、このモデルのパラメータを読み込んで、推測を行います。
{{:pasted:20171101-165837.png}}
次は、[[(7)推測]]へ進んでください。
===== 参考文献 =====
Chainer: ビギナー向けチュートリアル Vol.1
mitmul 2017年05月18日に更新
https://qiita.com/mitmul/items/eccf4e0a84cb784ba84a
Chainer2に関しては、以下の本がかなりおすすめです。
Deep Learningについての理論については、以下の本が超お勧めです。
===== リンク =====
次 [[(7)推測|(7)推測(Chainer)]]
前 [[(5)学習と結果の出力(Chainer)]]
Chainer2でMNIST目次\\
[[Chainer2プログラミングの全体図]]
-[[(1)Chainer2を使用するためのimport文]]
-[[(2)データの準備・設定|(2)データの準備・設定(Chainer)]]
-[[(3)モデルの記述|(3)モデルの記述(Chainer)]]
-[[(4)モデルと最適化アルゴリズムの設定|(4)モデルと最適化アルゴリズムの設定(Chainer)]]
-[[(5)学習と結果の出力(Chainer)]]
-[[(6)結果の出力|(6)学習結果のパラメータの保存(Chainer)]] <= いまココ
-[[(7)推測|(7)推測(Chainer)]]