4_モデルと最適化アルゴリズムの設定
                
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| 4_モデルと最適化アルゴリズムの設定 [2017/10/19] – adash333 | 4_モデルと最適化アルゴリズムの設定 [2018/10/07] (現在) – 外部編集 127.0.0.1 | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| ===== (4)モデルと最適化アルゴリズムの設定 ===== | ===== (4)モデルと最適化アルゴリズムの設定 ===== | ||
| - | <ChainerでMNIST目次> | + | <wrap hi> | 
| - | [[Chainer2プログラミングの全体図|(0)Chainer2プログラミングの全体図]]\\ | + | [[Chainer2プログラミングの全体図]] | 
| - | (1)Chainer2を使用するためのimport文\\ | + | -[[(1)Chainer2を使用するためのimport文]] | 
| - | [[(2)データの準備・設定]]\\ | + | -[[(2)データの準備・設定|(2)データの準備・設定(Chainer)]] | 
| - | [[(3)モデルの記述]]\\ | + | -[[(3)モデルの記述|(3)モデルの記述(Chainer)]] | 
| - | [[(4)モデルと最適化アルゴリズムの設定]]\\ | + | -[[(4)モデルと最適化アルゴリズムの設定|(4)モデルと最適化アルゴリズムの設定(Chainer)]] <wrap hi><= いまココ</ | 
| - | [[(5)学習(Trainerを利用しない場合)]]\\ | + | -[[(5)学習と結果の出力(Chainer)]] | 
| - | [[(6)結果の出力]]\\ | + | -[[(6)結果の出力|(6)学習結果のパラメータの保存(Chainer)]] | 
| + | -[[(7)推測|(7)推測(Chainer)]] | ||
| < | < | ||
| - | #4 モデルと最適化アルゴリズムの設定(ほぼお約束の3行) | + | #4 モデルと最適化アルゴリズムの設定(ほぼお約束の4行) | 
| model = MyModel() | model = MyModel() | ||
| + | model = L.Classifier(model) | ||
| optimizer = optimizers.Adam() | optimizer = optimizers.Adam() | ||
| optimizer.setup(model) | optimizer.setup(model) | ||
| 行 27: | 行 29: | ||
| このページは、[[(3)モデルの記述]]の続きであり、今回は、MNISTのモデルと最適化アルゴリズムの設定の記述を行っていきます。 | このページは、[[(3)モデルの記述]]の続きであり、今回は、MNISTのモデルと最適化アルゴリズムの設定の記述を行っていきます。 | ||
| - | といっても、最初は、毎回、おまじないの3行をコピペするだけです。内容を理解できるようになってから、adam()のところを、SGD(lr=0.1)などの置き換えたりして、微調整していけば十分だと思います。 | + | といっても、最初は、毎回、おまじないの4行をコピペするだけです。内容を理解できるようになってから、Adam()のところを、SGD(lr=0.01)などに置き換えたりして、微調整していけば十分だと思います。 | 
| ===== 手順 ===== | ===== 手順 ===== | ||
| 行 34: | 行 36: | ||
| [[(3)モデルの記述]]終了時の、以下のような状態から始めます。 | [[(3)モデルの記述]]終了時の、以下のような状態から始めます。 | ||
| - | {{:pasted:20171019-235428.png}} | + | {{:pasted:20171020-001546.png}} | 
| - | ==== 1. お約束の3行を入力 ==== | + | ==== 1. お約束の4行を入力 ==== | 
| 以下のコードを入力して、Shift + Enterを押します。 | 以下のコードを入力して、Shift + Enterを押します。 | ||
| < | < | ||
| - | #3 モデルと最適化アルゴリズムの設定(ほぼお約束の3行) | + | #4 モデルと最適化アルゴリズムの設定(ほぼお約束の4行) | 
| model = MyModel() | model = MyModel() | ||
| + | model = L.Classifier(model) | ||
| optimizer = optimizers.Adam() | optimizer = optimizers.Adam() | ||
| optimizer.setup(model) | optimizer.setup(model) | ||
| </ | </ | ||
| + | |||
| + | すると、以下のような画面になります。(ほとんど何もおこりません。) | ||
| + | |||
| + | 図は作成中 | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Chainerで、モデルと最適化アルゴリズムの設定を記述する作業は上記でおしまいです。 | ||
| + | |||
| + | 次は、[[(5)学習と結果の出力(Chainer)]]に進んでください。 | ||
| + | |||
| + | ===== L.Classifier() ===== | ||
| + | |||
| + | < | ||
| + | import chainer.links as L | ||
| + | |||
| + | # Network definition | ||
| + | class MLP(chainer.Chain): | ||
| + | # MLPモデルを定義 | ||
| + | |||
| + | model = L.Classifier(MLP(1000, | ||
| + | </ | ||
| + | |||
| + | 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:// | ||
| + | |||
| ===== 参考文献 ===== | ===== 参考文献 ===== | ||
| + | Chainer: ビギナー向けチュートリアル Vol.1 | ||
| + |  | ||
| + | https:// | ||
| - | な | + | Chainer2に関しては、以下の本がかなりおすすめです。 | 
| - | ===== リンク | + | < | 
| + | <iframe style=" | ||
| + | </ | ||
| - | は | + | Deep Learningについての理論については、以下の本が超お勧めです。 | 
| + | < | ||
| + | <iframe style=" | ||
| + | </ | ||
| + | ===== リンク ===== | ||
| + | 次 [[(5)学習と結果の出力(Chainer)]] | ||
| + | 前 [[(3)モデルの記述|(3)モデルの記述(Chainer)]] | ||
| + | <wrap hi> | ||
| + | [[Chainer2プログラミングの全体図]] | ||
| + | -[[(1)Chainer2を使用するためのimport文]] | ||
| + | -[[(2)データの準備・設定|(2)データの準備・設定(Chainer)]] | ||
| + | -[[(3)モデルの記述|(3)モデルの記述(Chainer)]] | ||
| + | -[[(4)モデルと最適化アルゴリズムの設定|(4)モデルと最適化アルゴリズムの設定(Chainer)]] < | ||
| + | -[[(5)学習と結果の出力(Chainer)]] | ||
| + | -[[(6)結果の出力|(6)学習結果のパラメータの保存(Chainer)]] | ||
| + | -[[(7)推測|(7)推測(Chainer)]] | ||
4_モデルと最適化アルゴリズムの設定.1508424951.txt.gz · 最終更新: 2018/10/07 (外部編集)
                
                