===== 学習と結果の出力(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)]]