この文書の現在のバージョンと選択したバージョンの差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
| 
                    5_学習_trainerを利用しない場合 [2017/11/01] adash333 [1. 学習]  | 
                
                    5_学習_trainerを利用しない場合 [2018/10/07] (現在) | 
            ||
|---|---|---|---|
| ライン 3: | ライン 3: | ||
| <ChainerでMNIST目次>\\ | <ChainerでMNIST目次>\\ | ||
| [[Chainer2プログラミングの全体図|(0)Chainer2プログラミングの全体図]]\\ | [[Chainer2プログラミングの全体図|(0)Chainer2プログラミングの全体図]]\\ | ||
| - | (1)Chainer2を使用するためのimport文\\ | + | (1)[[Chainer2を使用するためのimport文]]\\ | 
| [[(2)データの準備・設定]]\\ | [[(2)データの準備・設定]]\\ | ||
| [[(3)モデルの記述]]\\ | [[(3)モデルの記述]]\\ | ||
| ライン 11: | ライン 11: | ||
| <code> | <code> | ||
| - | #5 学習(Trainerを利用しない場合) | + | #5 学習 | 
| - | for epoch in range(繰り返し回数) | + | iterator = iterators.SerialIterator(train, 1000) | 
| - | データの加工 | + | updater = training.StandardUpdater(iterator, optimizer) | 
| - | model.cleargrads() #勾配初期化 | + | trainer = training.Trainer(updater, (10, 'epoch')) | 
| - | loss = model(...) #誤差計算 | + | trainer.extend(extensions.ProgressBar()) | 
| - | loss.backward  #勾配計算 | + | |
| - | optimizer.update  #パラメータ更新 | + | trainer.run() | 
| </code> | </code> | ||
| ライン 39: | ライン 39: | ||
| ==== 1. 学習 ==== | ==== 1. 学習 ==== | ||
| 以下のコードを入力して、Shift + Enterを押します。 | 以下のコードを入力して、Shift + Enterを押します。 | ||
| + | |||
| + | 以下の例は、Trainerを利用する方法となっています。 | ||
| <code> | <code> | ||