===== 学習と結果の出力(Chainer) =====
Chainer2でMNIST目次\\
[[Chainer2プログラミングの全体図]]
-[[(1)Chainer2を使用するためのimport文]]
-[[(2)データの準備・設定|(2)データの準備・設定(Chainer)]]
-[[(3)モデルの記述|(3)モデルの記述(Chainer)]]
-[[(4)モデルと最適化アルゴリズムの設定|(4)モデルと最適化アルゴリズムの設定(Chainer)]]
-[[(5)学習と結果の出力(Chainer)]] <= いまココ
-[[(6)結果の出力|(6)学習結果のパラメータの保存(Chainer)]]
-[[(7)推測|(7)推測(Chainer)]]
(5)#5 学習と結果の出力
# UpdaterにIteratorとOptimizerを渡す
from chainer import training
updater = training.StandardUpdater(train_iter, optimizer, device=gpu_id)
# TrainerにUpdaterを渡す
trainer = training.Trainer(updater, (max_epoch, 'epoch'), out='mnist_result')
# TrainerにExtensionを追加
from chainer.training import extensions
# trainer.extend()で、学習の進行状況を表すプログレスバーや、lossのグラフ化と画像の保存などを行う
# 学習を実行
trainer.run()
===== 開発環境 =====
Windows 8.1\\
Anaconda \\
Python 3.5\\
Chainer 2.0\\
Chainerのインストール方法は[[Chainer2.0をWindowsにインストール]]をご覧下さい。
このページは、[[(4)モデルと最適化アルゴリズムの設定|(4)モデルと最適化アルゴリズムの設定(Chainer)]]の続きであり、今回は、MNISTの学習と結果の出力を行っていきます。
===== 手順 =====
==== 0. 前回終了時の画面 ====
[[(4)モデルと最適化アルゴリズムの設定|(4)モデルと最適化アルゴリズムの設定(Chainer)]]終了時の、以下のような状態から始めます。
作成中。
{{:pasted:20171103-205859.png?400|}}
==== 1. データセットの準備 ====
作成中。
from chainer.datasets import mnist
# データセットがダウンロード済みでなければ、ダウンロードも行う
train, test = mnist.get_mnist(withlabel=True, ndim=1)
# matplotlibを使ったグラフ描画結果がnotebook内に表示されるようにします。
%matplotlib inline
import matplotlib.pyplot as plt
# データの例示
x, t = train[0]
plt.imshow(x.reshape(28, 28), cmap='gray')
plt.show()
print('label:', t)
以下のような画面になります。(以下の画面は、2回目以降の画面となります。最初は、「Downloading from %%http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz...%%」といった感じの文字が4行続くと思います。)
{{:pasted:20171103-211623.png}}
順に解説していきます。
===== リンク =====
次 [[(6)結果の出力|(6)学習結果のパラメータの保存(Chainer)]]
前 [[(4)モデルと最適化アルゴリズムの設定|(4)モデルと最適化アルゴリズムの設定(Chainer)]]
Chainer2でMNIST目次\\
[[Chainer2プログラミングの全体図]]
-[[(1)Chainer2を使用するためのimport文]]
-[[(2)データの準備・設定|(2)データの準備・設定(Chainer)]]
-[[(3)モデルの記述|(3)モデルの記述(Chainer)]]
-[[(4)モデルと最適化アルゴリズムの設定|(4)モデルと最適化アルゴリズムの設定(Chainer)]]
-[[(5)学習と結果の出力(Chainer)]] <= いまココ
-[[(6)結果の出力|(6)学習結果のパラメータの保存(Chainer)]]
-[[(7)推測|(7)推測(Chainer)]]