目次

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

Chainer2でMNIST目次

Chainer2プログラミングの全体図

#4 モデルと最適化アルゴリズムの設定(ほぼお約束の4行)
model = MyModel()
model = L.Classifier(model)
optimizer = optimizers.Adam()
optimizer.setup(model)

開発環境

Windows 8.1

Anaconda

Python 3.5

Chainer 2.0

Chainerのインストール方法はChainer2.0をWindowsにインストールをご覧下さい。

このページは、(3)モデルの記述の続きであり、今回は、MNISTのモデルと最適化アルゴリズムの設定の記述を行っていきます。

といっても、最初は、毎回、おまじないの4行をコピペするだけです。内容を理解できるようになってから、Adam()のところを、SGD(lr=0.01)などに置き換えたりして、微調整していけば十分だと思います。

手順

0. 前回終了時の画面

(3)モデルの記述終了時の、以下のような状態から始めます。

1. お約束の4行を入力

以下のコードを入力して、Shift + Enterを押します。

#4 モデルと最適化アルゴリズムの設定(ほぼお約束の4行)
model = MyModel()
model = L.Classifier(model)
optimizer = optimizers.Adam()
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, 10))

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)モデルの記述(Chainer)

Chainer2でMNIST目次

Chainer2プログラミングの全体図