この文書の現在のバージョンと選択したバージョンの差分を表示します。
次のリビジョン | 前のリビジョン | ||
6_結果の出力 [2017/10/20] adash333 作成 |
6_結果の出力 [2018/10/07] (現在) |
||
---|---|---|---|
ライン 1: | ライン 1: | ||
- | ===== 見出し ===== | + | ===== (6)結果の出力と、学習結果パラメータの保存 ===== |
- | あ | + | |
- | ===== 見出し ===== | + | <wrap hi>Chainer2でMNIST目次</wrap>\\ |
- | あ | + | [[Chainer2プログラミングの全体図]] |
+ | -[[(1)Chainer2を使用するためのimport文]] | ||
+ | -[[(2)データの準備・設定|(2)データの準備・設定(Chainer)]] | ||
+ | -[[(3)モデルの記述|(3)モデルの記述(Chainer)]] | ||
+ | -[[(4)モデルと最適化アルゴリズムの設定|(4)モデルと最適化アルゴリズムの設定(Chainer)]] | ||
+ | -[[(5)学習と結果の出力(Chainer)]] | ||
+ | -[[(6)結果の出力|(6)学習結果のパラメータの保存(Chainer)]] <wrap hi><= いまココ</wrap> | ||
+ | -[[(7)推測|(7)推測(Chainer)]] | ||
+ | |||
+ | |||
+ | <code> | ||
+ | #6 学習結果のパラメータの保存 | ||
+ | # Save paramaters | ||
+ | chainer.serializers.save_npz('my_mnist.model', model) | ||
+ | </code> | ||
+ | |||
+ | ===== 開発環境 ===== | ||
+ | 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を押します。 | ||
+ | |||
+ | <code> | ||
+ | #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)) | ||
+ | </code> | ||
+ | |||
+ | すると、以下のような画面になります。 | ||
+ | |||
+ | {{:pasted:20171101-165250.png}} | ||
+ | |||
+ | 精度は96.6%との結果でした。 | ||
+ | |||
+ | 次に、この学習したモデルのパラメータを、「my_mnist.model」という名前で保存します。 | ||
+ | |||
+ | <code> | ||
+ | #6.2 学習結果のパラメータ保存 | ||
+ | chainer.serializers.save_npz('my_mnist.model', model) | ||
+ | </code> | ||
+ | |||
+ | {{: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に関しては、以下の本がかなりおすすめです。 | ||
+ | |||
+ | <html> | ||
+ | <iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=twosquirrel-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=B01NBMKH21&linkId=a7a35903a4c55f62d8aa012c3d0277d8"></iframe> | ||
+ | </html> | ||
+ | |||
+ | Deep Learningについての理論については、以下の本が超お勧めです。 | ||
+ | |||
+ | <html> | ||
+ | <iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=twosquirrel-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=4873117585&linkId=603bea27ea1777eb662830c5609200a1"></iframe> | ||
+ | </html> | ||
===== リンク ===== | ===== リンク ===== | ||
+ | 次 [[(7)推測|(7)推測(Chainer)]] | ||
+ | |||
+ | 前 [[(5)学習と結果の出力(Chainer)]] | ||
+ | |||
+ | |||
+ | <wrap hi>Chainer2でMNIST目次</wrap>\\ | ||
+ | [[Chainer2プログラミングの全体図]] | ||
+ | -[[(1)Chainer2を使用するためのimport文]] | ||
+ | -[[(2)データの準備・設定|(2)データの準備・設定(Chainer)]] | ||
+ | -[[(3)モデルの記述|(3)モデルの記述(Chainer)]] | ||
+ | -[[(4)モデルと最適化アルゴリズムの設定|(4)モデルと最適化アルゴリズムの設定(Chainer)]] | ||
+ | -[[(5)学習と結果の出力(Chainer)]] | ||
+ | -[[(6)結果の出力|(6)学習結果のパラメータの保存(Chainer)]] <wrap hi><= いまココ</wrap> | ||
+ | -[[(7)推測|(7)推測(Chainer)]] |