この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
4_モデルと最適化アルゴリズムの設定 [2017/10/19] adash333 [1. お約束の3行を入力] |
4_モデルと最適化アルゴリズムの設定 [2018/10/07] (現在) |
||
---|---|---|---|
ライン 1: | ライン 1: | ||
===== (4)モデルと最適化アルゴリズムの設定 ===== | ===== (4)モデルと最適化アルゴリズムの設定 ===== | ||
- | <ChainerでMNIST目次>\\ | + | <wrap hi>Chainer2でMNIST目次</wrap>\\ |
- | [[Chainer2プログラミングの全体図|(0)Chainer2プログラミングの全体図]]\\ | + | [[Chainer2プログラミングの全体図]] |
- | (1)Chainer2を使用するためのimport文\\ | + | -[[(1)Chainer2を使用するためのimport文]] |
- | [[(2)データの準備・設定]]\\ | + | -[[(2)データの準備・設定|(2)データの準備・設定(Chainer)]] |
- | [[(3)モデルの記述]]\\ | + | -[[(3)モデルの記述|(3)モデルの記述(Chainer)]] |
- | [[(4)モデルと最適化アルゴリズムの設定]]\\ | + | -[[(4)モデルと最適化アルゴリズムの設定|(4)モデルと最適化アルゴリズムの設定(Chainer)]] <wrap hi><= いまココ</wrap> |
- | [[(5)学習(Trainerを利用しない場合)]]\\ | + | -[[(5)学習と結果の出力(Chainer)]] |
- | [[(6)結果の出力]]\\ | + | -[[(6)結果の出力|(6)学習結果のパラメータの保存(Chainer)]] |
+ | -[[(7)推測|(7)推測(Chainer)]] | ||
<code> | <code> | ||
- | #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を押します。 | ||
<code> | <code> | ||
- | #4 モデルと最適化アルゴリズムの設定(ほぼお約束の3行) | + | #4 モデルと最適化アルゴリズムの設定(ほぼお約束の4行) |
- | model = MLP() | + | model = MyModel() |
+ | model = L.Classifier(model) | ||
optimizer = optimizers.Adam() | optimizer = optimizers.Adam() | ||
optimizer.setup(model) | optimizer.setup(model) | ||
ライン 48: | ライン 51: | ||
すると、以下のような画面になります。(ほとんど何もおこりません。) | すると、以下のような画面になります。(ほとんど何もおこりません。) | ||
- | {{:pasted:20171019-235857.png}} | + | 図は作成中 |
+ | |||
+ | {{:pasted:20171020-001702.png}} | ||
Chainerで、モデルと最適化アルゴリズムの設定を記述する作業は上記でおしまいです。 | Chainerで、モデルと最適化アルゴリズムの設定を記述する作業は上記でおしまいです。 | ||
- | 次は、[[(5)学習(Trainerを利用しない場合)]]の設定に進んでください。 | + | 次は、[[(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 | ||
===== 参考文献 ===== | ===== 参考文献 ===== | ||
ライン 71: | ライン 96: | ||
</html> | </html> | ||
- | ===== リンク ===== | ||
- | <ChainerでMNIST目次>\\ | ||
- | [[Chainer2プログラミングの全体図|(0)Chainer2プログラミングの全体図]]\\ | ||
- | [[(1)Chainer2を使用するためのimport文]]\\ | ||
- | [[(2)データの準備・設定]]\\ | ||
- | [[(3)モデルの記述]]\\ | ||
- | (4)モデルと最適化アルゴリズムの設定 ←いまここ\\ | ||
- | [[(5)学習(Trainerを利用しない場合)]]\\ | ||
- | [[(6)結果の出力]]\\ | ||
- | ===== 参考文献 ===== | ||
- | |||
- | な | ||
===== リンク ===== | ===== リンク ===== | ||
- | は | + | 次 [[(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)]] |