この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
2_データの準備・設定 [2017/11/03] adash333 [1. データセットの準備] |
2_データの準備・設定 [2018/10/07] (現在) |
||
---|---|---|---|
ライン 4: | ライン 4: | ||
[[Chainer2プログラミングの全体図]] | [[Chainer2プログラミングの全体図]] | ||
-[[(1)Chainer2を使用するためのimport文]] | -[[(1)Chainer2を使用するためのimport文]] | ||
- | -[[(2)データの準備・設定|(2)データの準備・設定(Chainer)]] | + | -[[(2)データの準備・設定|(2)データの準備・設定(Chainer)]] <wrap hi><= いまココ</wrap> |
-[[(3)モデルの記述|(3)モデルの記述(Chainer)]] | -[[(3)モデルの記述|(3)モデルの記述(Chainer)]] | ||
-[[(4)モデルと最適化アルゴリズムの設定|(4)モデルと最適化アルゴリズムの設定(Chainer)]] | -[[(4)モデルと最適化アルゴリズムの設定|(4)モデルと最適化アルゴリズムの設定(Chainer)]] | ||
ライン 67: | ライン 67: | ||
</code> | </code> | ||
- | 以下のような画面になります。(以下の画面は、2回目以降の画面となります。最初は、「Downloading from http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz...」といった感じの文字が4行続くと思います。) | + | 以下のような画面になります。(以下の画面は、2回目以降の画面となります。最初は、「Downloading from %%http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz...%%」といった感じの文字が4行続くと思います。) |
{{:pasted:20171103-211623.png}} | {{:pasted:20171103-211623.png}} | ||
ライン 83: | ライン 83: | ||
MNISTとは何か、またこれから何をやろうとしているのかについては、以下のサイトが非常に分かりやすいです。\\ | MNISTとは何か、またこれから何をやろうとしているのかについては、以下のサイトが非常に分かりやすいです。\\ | ||
- | http://exceldeeplearning.blog.jp/archives/1411297.html | + | http://exceldeeplearning.blog.jp/archives/1411297.html\\ |
+ | ちなみに、よく言われているMNISTの元データのダウンロードついては、[[http://twosquirrel.mints.ne.jp/?p=20277|こちら]]をご覧いただければと思います。 | ||
手書き数字MNISTは、本来は28x28pixelのグレースケールの画像と、それが何の数字であるかの正解ラベルのセットです。この画像と正解ラベルのセットが、training用の6万セット、test用の1万セットとなっています。 | 手書き数字MNISTは、本来は28x28pixelのグレースケールの画像と、それが何の数字であるかの正解ラベルのセットです。この画像と正解ラベルのセットが、training用の6万セット、test用の1万セットとなっています。 | ||
ライン 140: | ライン 141: | ||
<html> | <html> | ||
<iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=twosquirrel-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=4873117585&linkId=560f10e512d4dcc99644bbfabcb18cd3"></iframe> | <iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=twosquirrel-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=4873117585&linkId=560f10e512d4dcc99644bbfabcb18cd3"></iframe> | ||
- | <br> | + | |
<iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=twosquirrel-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=4274221075&linkId=e362b0741ce31d467f246f2a47709906"></iframe> | <iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=twosquirrel-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=4274221075&linkId=e362b0741ce31d467f246f2a47709906"></iframe> | ||
ライン 147: | ライン 148: | ||
- | こちたのコードは、特にMNISTのtrainingを行う際には不要ですが、データを読み込んだときに、読み込んだデータと元のデータとの整合性の検証は大事なことなので、このようなコードの記載があるのだと思われます。 | + | 後半のコードは、特にMNISTのtrainingを行う際には不要ですが、データを読み込んだときに、読み込んだデータと元のデータとの整合性の検証は大事なことなので、このようなコードの記載があるのだと思われます。 |
Chainerが用意しているMNISTデータセットを用いる手順は上記でおしまいです。 | Chainerが用意しているMNISTデータセットを用いる手順は上記でおしまいです。 | ||
- | 初めての場合は、次は、とりあえず、[[(3)モデルの記述]]に進んでください。 | + | <wrap hi> |
+ | 初めての場合は、次は、とりあえず、</wrap>[[(3)モデルの記述]]<wrap hi>に進んでください。 | ||
+ | </wrap> | ||
- | + | ===== chainer.datasets.get_mnist関数について ===== | |
- | ==== chainer.datasets.get_mnist関数について ==== | + | |
trainとtestに対応する2つのdatasetを返します。 | trainとtestに対応する2つのdatasetを返します。 | ||
ライン 177: | ライン 179: | ||
{{:pasted:20171103-185942.png}} | {{:pasted:20171103-185942.png}} | ||
- | ==== import matplotlib.pyplot as pltについて ==== | + | ===== Numpy配列について ===== |
+ | |||
+ | よろしければ、以下をご覧ください。 | ||
+ | |||
+ | Chainer用の画像処理メモ(5)初めてのNumPy"import numpy as np"\\ | ||
+ | 2017/10/22\\ | ||
+ | http://twosquirrel.mints.ne.jp/?p=20209 | ||
+ | |||
+ | Chainer用の画像処理メモ(6)画像をNumpy配列に変換\\ | ||
+ | 2017/10/23\\ | ||
+ | http://twosquirrel.mints.ne.jp/?p=20209 | ||
+ | |||
+ | ===== import matplotlib.pyplot as pltについて ===== | ||
かなり面倒ですが、コードを理解するためには、import文の役割を一つずつ調べていくのが王道です。 | かなり面倒ですが、コードを理解するためには、import文の役割を一つずつ調べていくのが王道です。 | ||
- | 機械学習プログラミングで使用することが多いimport文について、以下にまとめていく予定ですので、もしよろしければご覧ください。 | + | 機械学習プログラミングで使用することが多いimport文について、以下にまとめていく予定ですので、ぜひご覧ください。 |
機械学習で用いるpythonの”import xxx”まとめ\\ | 機械学習で用いるpythonの”import xxx”まとめ\\ | ||
ライン 187: | ライン 201: | ||
http://twosquirrel.mints.ne.jp/?p=20344 | http://twosquirrel.mints.ne.jp/?p=20344 | ||
- | Matplotlibについては、以下の本の第4章「Matplotlibでグラフを描画しよう」がおすすめです。 | + | Matplotlibについては、以下の本の第4章「Matplotlibでグラフを描画しよう」がおすすめですが、さしあたり、[[https://qiita.com/Tatejimaru137/items/44646c9bb3799768fa81|matplotlibで画像を連続的に表示する方法メモ]]や[[http://oikakeru.hateblo.jp/entry/2017/03/30/150842|Matplotlibで画像を表示してみるetc(その1)]]が参考になります。matplotlib.pyplotで画像を表示するために、numpyとかPIL(pillow)とかいきなり出てきますので、その都度、[[http://twosquirrel.mints.ne.jp/?p=20344|機械学習で用いるpythonの”import xxx”まとめ]]で該当部分をチェックしてもよいとは思います。 |
<html> | <html> | ||
<iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=twosquirrel-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=B075F3CHZ4&linkId=2d818cc48f5ec3d86ce1430f996e8124"></iframe> | <iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=twosquirrel-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=B075F3CHZ4&linkId=2d818cc48f5ec3d86ce1430f996e8124"></iframe> | ||
</html> | </html> | ||
- | |||
- | |||
- | 作成中 | ||
- | |||
===== 参考文献 ===== | ===== 参考文献 ===== | ||
ライン 226: | ライン 236: | ||
https://qiita.com/tommyfms2/items/c3fa0cb258c17468cb30 | https://qiita.com/tommyfms2/items/c3fa0cb258c17468cb30 | ||
===== リンク ===== | ===== リンク ===== | ||
- | <ChainerでMNIST目次>\\ | + | |
- | [[Chainer2プログラミングの全体図|(0)Chainer2プログラミングの全体図]]\\ | + | 次 [[(3)モデルの記述|(3)モデルの記述(Chainer)]] |
- | [[(1)Chainer2を使用するためのimport文]]\\ | + | |
- | [[(2)データの準備・設定|(2)tuple_datasetによるデータの準備・設定]]\\ | + | 前 [[(1)Chainer2を使用するためのimport文]] |
- | [[(3)モデルの記述]]\\ | + | |
- | [[(4)モデルと最適化アルゴリズムの設定]]\\ | + | |
- | [[(5)学習(Trainerを利用しない場合)]]\\ | + | <wrap hi>Chainer2でMNIST目次</wrap>\\ |
- | [[(6)結果の出力]]\\ | + | [[Chainer2プログラミングの全体図]] |
+ | -[[(1)Chainer2を使用するためのimport文]] | ||
+ | -[[(2)データの準備・設定|(2)データの準備・設定(Chainer)]] <wrap hi><= いまココ</wrap> | ||
+ | -[[(3)モデルの記述|(3)モデルの記述(Chainer)]] | ||
+ | -[[(4)モデルと最適化アルゴリズムの設定|(4)モデルと最適化アルゴリズムの設定(Chainer)]] | ||
+ | -[[(5)学習と結果の出力(Chainer)]] | ||
+ | -[[(6)結果の出力|(6)学習結果のパラメータの保存(Chainer)]] | ||
+ | -[[(7)推測|(7)推測(Chainer)]] |