4_モデルと最適化アルゴリズムの設定

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

次のリビジョン
前のリビジョン
4_モデルと最適化アルゴリズムの設定 [2017/10/19]
adash333 作成
4_モデルと最適化アルゴリズムの設定 [2018/10/07] (現在)
ライン 1: ライン 1:
-===== 見出し ​=====+===== (4)モデルと最適化アルゴリズムの設定 ​=====
  
 +<wrap hi>​Chainer2でMNIST目次</​wrap>​\\
 +[[Chainer2プログラミングの全体図]]
 +  -[[(1)Chainer2を使用するためのimport文]]
 +  -[[(2)データの準備・設定|(2)データの準備・設定(Chainer)]]
 +  -[[(3)モデルの記述|(3)モデルの記述(Chainer)]]
 +  -[[(4)モデルと最適化アルゴリズムの設定|(4)モデルと最適化アルゴリズムの設定(Chainer)]] <​wrap hi><= いまココ</​wrap>​
 +  -[[(5)学習と結果の出力(Chainer)]]
 +  -[[(6)結果の出力|(6)学習結果のパラメータの保存(Chainer)]]
 +  -[[(7)推測|(7)推測(Chainer)]]
  
-+<​code>​ 
 +#4 モデルと最適化アルゴリズムの設定(ほぼお約束の4行) 
 +model = MyModel() 
 +model = L.Classifier(model) 
 +optimizer = optimizers.Adam() 
 +optimizer.setup(model) 
 +</​code>​
  
 +===== 開発環境 =====
 +Windows 8.1\\
 +Anaconda \\
 +Python 3.5\\
 +Chainer 2.0\\
  
-=====  みだし2 =====+Chainerのインストール方法は[[Chainer2.0をWindowsにインストール]]をご覧下さい。
  
-+このページは、[[(3)モデルの記述]]の続きでり、今回は、MNISTのモデルと最適化アルゴリズムの設定の記述を行っていきます。
  
 +といっても、最初は、毎回、おまじないの4行をコピペするだけです。内容を理解できるようになってから、Adam()のところを、SGD(lr=0.01)などに置き換えたりして、微調整していけば十分だと思います。
 +
 +===== 手順 =====
 +
 +==== 0. 前回終了時の画面 ====
 +[[(3)モデルの記述]]終了時の、以下のような状態から始めます。
 +
 +{{:​pasted:​20171020-001546.png}}
 +
 +==== 1. お約束の4行を入力 ====
 +以下のコードを入力して、Shift + Enterを押します。
  
 <​code>​ <​code>​
-#モデルと最適化アルゴリズムの設定(ほぼお約束の3行)+#モデルと最適化アルゴリズムの設定(ほぼお約束の4行)
 model = MyModel() model = MyModel()
 +model = L.Classifier(model)
 optimizer = optimizers.Adam() optimizer = optimizers.Adam()
 optimizer.setup(model) optimizer.setup(model)
 </​code>​ </​code>​
 +
 +すると、以下のような画面になります。(ほとんど何もおこりません。)
 +
 +図は作成中
 +
 +{{:​pasted:​20171020-001702.png}}
 +
 +Chainerで、モデルと最適化アルゴリズムの設定を記述する作業は上記でおしまいです。
 +
 +次は、[[(5)学習と結果の出力(Chainer)]]に進んでください。
 +
 +===== L.Classifier() =====
 +
 +<​code>​
 +import chainer.links as L
 +
 +# Network definition ​
 +class MLP(chainer.Chain):​
 +    # MLPモデルを定義
 +
 +model = L.Classifier(MLP(1000,​ 10))
 +</​code>​
 +
 +A simple classifier model.
 +
 +This is an example of chain that wraps another chain. It computes the loss and accuracy based on a given input/label pair.
 +だそう。
 +
 +https://​docs.chainer.org/​en/​stable/​reference/​generated/​chainer.links.Classifier.html
 +
  
 ===== 参考文献 ===== ===== 参考文献 =====
 +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>​
  
  
 +===== リンク =====
  
 +次 [[(5)学習と結果の出力(Chainer)]]
  
 +前 [[(3)モデルの記述|(3)モデルの記述(Chainer)]]
  
 +<wrap hi>​Chainer2でMNIST目次</​wrap>​\\
 +[[Chainer2プログラミングの全体図]]
 +  -[[(1)Chainer2を使用するためのimport文]]
 +  -[[(2)データの準備・設定|(2)データの準備・設定(Chainer)]]
 +  -[[(3)モデルの記述|(3)モデルの記述(Chainer)]]
 +  -[[(4)モデルと最適化アルゴリズムの設定|(4)モデルと最適化アルゴリズムの設定(Chainer)]] <​wrap hi><= いまココ</​wrap>​
 +  -[[(5)学習と結果の出力(Chainer)]]
 +  -[[(6)結果の出力|(6)学習結果のパラメータの保存(Chainer)]]
 +  -[[(7)推測|(7)推測(Chainer)]]

4_モデルと最適化アルゴリズムの設定.1508423648.txt.gz · 最終更新: 2018/10/07 (外部編集)