この文書の現在のバージョンと選択したバージョンの差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
| 
                    chainer2プログラミングの全体図 [2017/11/02] adash333 [Trainerを利用する場合のChainer全体図]  | 
                
                    chainer2プログラミングの全体図 [2018/10/07] (現在) | 
            ||
|---|---|---|---|
| ライン 1: | ライン 1: | ||
| ===== Chainerプログラミングの全体図 ===== | ===== Chainerプログラミングの全体図 ===== | ||
| + | <wrap hi>Chainer2でMNIST目次</wrap>\\ | ||
| [[Chainer2プログラミングの全体図]] | [[Chainer2プログラミングの全体図]] | ||
| -[[(1)Chainer2を使用するためのimport文]] | -[[(1)Chainer2を使用するためのimport文]] | ||
| ライン 11: | ライン 12: | ||
| - | 必ずしもこの書き方ではなくてもよいらしいです。 | + | あくまで一例として記載させていただきます。 | 
| WEB上のMNISTのサンプルコードを読んでいると、Kerasだと皆ほぼ同じコードになるのに、Chainerだと人によってコードが結構異なる感じで、初心者には本当にとっつきにくいイメージでした。 | WEB上のMNISTのサンプルコードを読んでいると、Kerasだと皆ほぼ同じコードになるのに、Chainerだと人によってコードが結構異なる感じで、初心者には本当にとっつきにくいイメージでした。 | ||
| ライン 51: | ライン 52: | ||
| (4)#4 モデルと最適化アルゴリズムの設定 | (4)#4 モデルと最適化アルゴリズムの設定 | ||
| model = MyModel() | model = MyModel() | ||
| + | model = L.Classifier(model) | ||
| optimizer = optimizers.Adam() | optimizer = optimizers.Adam() | ||
| optimizer.setup(model) | optimizer.setup(model) | ||
| + | |||
| + | (5)#5 学習と結果の出力 | ||
| # UpdaterにIteratorとOptimizerを渡す | # UpdaterにIteratorとOptimizerを渡す | ||
| from chainer import training | from chainer import training | ||
| updater = training.StandardUpdater(train_iter, optimizer, device=gpu_id) | updater = training.StandardUpdater(train_iter, optimizer, device=gpu_id) | ||
| - | |||
| - | (5)#5 学習と結果の出力 | ||
| # TrainerにUpdaterを渡す | # TrainerにUpdaterを渡す | ||
| trainer = training.Trainer(updater, (max_epoch, 'epoch'), out='mnist_result') | trainer = training.Trainer(updater, (max_epoch, 'epoch'), out='mnist_result') | ||
| ライン 106: | ライン 108: | ||
| ==== Chainer2でMNISTのコード ==== | ==== Chainer2でMNISTのコード ==== | ||
| 以下にコードそのものを記載します。非常に長く取っつきにくいコードですが、次回以降、順に解説させていただきます。 | 以下にコードそのものを記載します。非常に長く取っつきにくいコードですが、次回以降、順に解説させていただきます。 | ||
| + | |||
| + | なお、今回はMNISTのデータセットを、Chainerがあらかじめ用意したものを使って学習を行いますが、画像データからChainer用データセットに変換する方法については、[[Chainer2用自前データの準備]]をご覧下さい。(かなりややこしいので、最初は、以下のコードを写経してから、自前データの準備に進むのがお勧めです。) | ||
| train_mnist_mlp.py | train_mnist_mlp.py | ||
| ライン 121: | ライン 125: | ||
| </html> | </html> | ||
| + | 次のページから、上記コードについて順番に解説していきます。 | ||
| 次 [[(1)Chainer2を使用するためのimport文]] | 次 [[(1)Chainer2を使用するためのimport文]] | ||
| ライン 159: | ライン 163: | ||
| 前 [[Chainer2.0をWindowsにインストール]] | 前 [[Chainer2.0をWindowsにインストール]] | ||
| - | 目次 | + | |
| + | <wrap hi>Chainer2でMNIST目次</wrap>\\ | ||
| [[Chainer2プログラミングの全体図]] | [[Chainer2プログラミングの全体図]] | ||
| -[[(1)Chainer2を使用するためのimport文]] | -[[(1)Chainer2を使用するためのimport文]] | ||
| ライン 168: | ライン 173: | ||
| -[[(6)結果の出力|(6)学習結果のパラメータの保存(Chainer)]] | -[[(6)結果の出力|(6)学習結果のパラメータの保存(Chainer)]] | ||
| -[[(7)推測|(7)推測(Chainer)]] | -[[(7)推測|(7)推測(Chainer)]] | ||
| + | |||
| + | |||