===== (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)]]