5_学習_trainerを利用しない場合
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
5_学習_trainerを利用しない場合 [2017/10/19] – adash333 | 5_学習_trainerを利用しない場合 [2018/10/07] (現在) – 外部編集 127.0.0.1 | ||
---|---|---|---|
行 3: | 行 3: | ||
< | < | ||
[[Chainer2プログラミングの全体図|(0)Chainer2プログラミングの全体図]]\\ | [[Chainer2プログラミングの全体図|(0)Chainer2プログラミングの全体図]]\\ | ||
- | (1)Chainer2を使用するためのimport文\\ | + | (1)[[Chainer2を使用するためのimport文]]\\ |
[[(2)データの準備・設定]]\\ | [[(2)データの準備・設定]]\\ | ||
[[(3)モデルの記述]]\\ | [[(3)モデルの記述]]\\ | ||
行 11: | 行 11: | ||
< | < | ||
- | #5 学習(Trainerを利用しない場合) | + | #5 学習 |
- | for epoch in range(繰り返し回数) | + | iterator = iterators.SerialIterator(train, 1000) |
- | | + | updater = training.StandardUpdater(iterator, optimizer) |
- | model.cleargrads() # | + | trainer |
- | | + | trainer.extend(extensions.ProgressBar()) |
- | | + | |
- | | + | trainer.run() |
</ | </ | ||
行 37: | 行 37: | ||
{{: | {{: | ||
- | ==== 1. お約束の3行を入力 | + | ==== 1. 学習 |
以下のコードを入力して、Shift + Enterを押します。 | 以下のコードを入力して、Shift + Enterを押します。 | ||
+ | |||
+ | 以下の例は、Trainerを利用する方法となっています。 | ||
< | < | ||
- | #5 学習(Trainerを利用しない場合) | + | #5 学習 |
- | for i in range(len(train)): | + | iterator = iterators.SerialIterator(train, 1000) |
- | # データの加工 | + | updater |
- | | + | trainer |
- | | + | trainer.extend(extensions.ProgressBar()) |
- | + | ||
- | model.cleargrads() # | + | trainer.run() |
- | + | ||
- | loss = model(x,y) # | + | |
- | + | ||
- | loss.backward() # | + | |
- | + | ||
- | | + | |
</ | </ | ||
- | すると、以下のような画面になります。(ほとんど何もおこりません。) | + | すると、以下のような画面になります。 |
- | + | {{: | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | Chainerで、モデルと最適化アルゴリズムの設定を記述する作業は上記でおしまいです。 | + | |
次は、[[(6)結果の出力]]の設定に進んでください。 | 次は、[[(6)結果の出力]]の設定に進んでください。 | ||
行 90: | 行 81: | ||
[[(3)モデルの記述]]\\ | [[(3)モデルの記述]]\\ | ||
[[(4)モデルと最適化アルゴリズムの設定]]\\ | [[(4)モデルと最適化アルゴリズムの設定]]\\ | ||
- | (5)学習(Trainerを利用しない場合) | + | (5)学習 |
[[(6)結果の出力]]\\ | [[(6)結果の出力]]\\ | ||
5_学習_trainerを利用しない場合.1508427482.txt.gz · 最終更新: 2018/10/07 (外部編集)