2.0Chainerのインストール方法はChainer2.0をWindowsにインストールをご覧下さい。このページは、(1)Chainer2を使用するためのimport文の続きであり、今回は、MNISTのデータの準備・設定を行っていきます。データの準備が難しいところなのですが、今回は、最初なので、Chainerであらかじめ用意されているMNISTデータセットを利用します。オリジナルデータセットの準備については、後日、Chainer2用自前データの準備に記載予定です。前回終了時の画面(1)Chainer2を使用するためのimport文終了時の、以下のような状態から始めます。Enterを押します。最初は、MNISTの画像データなどがダウンロードされるので、時間がかかります。matplotlibを使ったグラフ描画結果がnotebook内に表示されるようにします。t)以下のような画面になります。(以下の画面は、2回目以降の画面となります。http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz...」といった感じの文字が4行続くと思います。)順に解説していきます。ndim=1)Chainerが用意しているchainer.datasetsから、手書き数字MNISTのデータをダウンロードして読み込みます。MNISTとは何か、またこれから何をやろうとしているのかについては、以下のサイトが非常に分かりやすいです。http://exceldeeplearning.blog.jp/archives/1411297.htmlちなみに、よく言われているMNISTの元データのダウンロードついては、こちらをご覧いただければと思います。手書き数字MNISTは、本来は28x28pixelのグレースケールの画像と、それが何の数字であるかの正解ラベルのセットです。この画像と正解ラベルのセットが、training用の6万セット、test用の1万セットとなっています。画像のままではChainerでは読み込めません。そのため、画像を0~255の値をとる284個の数字が1列に並んだ配列(ndim=1)に変換(さらに正規化といって全部255で割る)したものと、正解ラベルのセット(withlabel=True)に変換したものを、chainer.datasets.get_mnist()関数で呼び出して、trainとtestという変数に代入しています。3]というように、左に入力値と右にその答え(ラベル値)がセットで入っています。chainerではtrainで学習して、testで試してみて正解率を見ていく感じになります。Enterで実行すると、以下のように表示されてます。ちなみに、print(train[0])とすると、以下のように表示されて、train[0]は、1×784のNumpy配列(各要素は0から1までの数値(dtype=float32))と、正解ラベル(dtype=int32)のタプル(tuple)であることが分かります。Notebookで可視化しています。matplotlibを使ったグラフ描画結果がnotebook内に表示されるようにします。Notebook上に表示して確認しています。一つ一つのコードについては、上記のコード内にコメントで記載しました。ここでは、numpyのreshape()関数と、matplotlib.pyplotのimshow()関数、show()関数を用いています。numpyとmatplotlibは機械学習プログラミングでよく使いますので、特にNumpyについては勉強しておく必要があります。np"をご覧いただければ幸いですが、以下の2つの本などで、ある程度しっかり勉強しておく必要があります。後半のコードは、特にMNISTのtrainingを行う際には不要ですが、データを読み込んだときに、読み込んだデータと元のデータとの整合性の検証は大事なことなので、このようなコードの記載があるのだと思われます。Chainerが用意しているMNISTデータセットを用いる手順は上記でおしまいです。場合は、次は、とりあえず、(3)モデルの記述に進んでください。chainer.datasets.get_mnist関数についてtrainとtestに対応する2つのdatasetを返します。ndim=1と入れます。rgb_format=Trueと入れます。Chainer関連の関数については、公式マニュアルを読むのが一番です。残念ながら英語ですが、それでも読むしかありません。chainer.datasets.get_mnisthttps://docs.chainer.org/en/stable/reference/generated/chainer.datasets.get_mnist.htmlNumpy配列についてよろしければ、以下をご覧ください。pltについてかなり面倒ですが、コードを理解するためには、import文の役割を一つずつ調べていくのが王道です。機械学習プログラミングで使用することが多いimport文について、以下にまとめていく予定ですので、ぜひご覧ください。2017/10/28http://twosquirrel.mints.ne.jp/?p=20344Matplotlibについては、以下の本の第4章「Matplotlibでグラフを描画しよう」がおすすめですが、さしあたり、matplotlibで画像を連続的に表示する方法メモやMatplotlibで画像を表示してみるetc(その1)が参考になります。xxx”まとめで該当部分をチェックしてもよいとは思います。MNISTのチュートリアルだと、Chainerがあらかじめ用意しているデータを使用しているだけで、自前のデータを扱う方法がさっぱりわからないので、以下の解説を参考にする必要がある。下記ページを参考にする。以前のリビジョンバックリンク文書の先頭へ。