ユーザ用ツール

サイト用ツール


2_データの準備・設定

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
2_データの準備・設定 [2017/11/03] – [import matplotlib.pyplot as pltについて] adash3332_データの準備・設定 [2018/10/07] (現在) – 外部編集 127.0.0.1
行 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万セットとなっています。
行 124: 行 125:
  
 # データの例示 # データの例示
 +# trainデータセットの1行目を、画像データのNumpy配列(1x784)をx、正解ラベルをtとして取り出す
 x, t = train[0] x, t = train[0]
 +# 1x784のNumpy配列xを、28x28のNumpy配列に変換後、matplotlibのpyplotを用いて、
 +# グレースケール画像として読み込み、Jupyter Notebook内で表示
 plt.imshow(x.reshape(28, 28), cmap='gray') plt.imshow(x.reshape(28, 28), cmap='gray')
 plt.show() plt.show()
 +# 正解ラベルの表示
 print('label:', t) print('label:', t)
 </code> </code>
  
-こちらは、ダウンロードしたMNIST画像の1つを、Jupyter Notebook上に表示して確認しています。学習をする上で不要ですがタを読み込んだときに、読み込んだデータと元データとの整合性の検証は大事なこなの、このうなコード記載があるのだと思われます。+こちらは、ダウンロードしたMNIST画像の1つを、Jupyter Notebook上に表示して確認しています。一つ一つのコードついては、上記のコド内コメントで記載しました。ここではnumpyreshape()関数、matplotlib.pyplotimshow()関数、show()関数を用いています。numpymatplotlibは機械学習プログラミングでよく使いますで、特にNumpyについては勉強しておく必要があます。
  
-Chainer意しいるMNISTデータセットる手順は上記しまいです。+Numpyについては、[[http://twosquirrel.mints.ne.jp/?p=20153|Chainer用の画像処理メモ(5)初めのNumPy"import numpy as np"]]ご覧いただければ幸いですが、以下の2つの本などで、ある程度っかり勉強しておく必要があります。
  
-初めて場合は、は、とりあえず[[(3)モ記述]]に進んい。+<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> 
 +&nbsp; 
 +<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> 
 + 
 + 
 +</html> 
 + 
 + 
 +後半コードは、特にMNISTのtrainingを行う際に不要ですがデータを読み込んだきに読み込んだータと元のデータとの整合性の検証は大事なことなので、このようなコードの記載があるのと思われます。 
 + 
 +Chainerが用意してるMNISTデータセットを用いる手順は上記でおしまいです
  
 +<wrap hi>
 +初めての場合は、次は、とりあえず、</wrap>[[(3)モデルの記述]]<wrap hi>に進んでください。
 +</wrap>
  
-==== chainer.datasets.get_mnist関数について ====+===== chainer.datasets.get_mnist関数について =====
  
 trainとtestに対応する2つのdatasetを返します。 trainとtestに対応する2つのdatasetを返します。
行 160: 行 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”まとめ\\
行 170: 行 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>
- 
- 
-作成中 
- 
  
 ===== 参考文献 ===== ===== 参考文献 =====
行 209: 行 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)]]

2_データの準備・設定.1509713343.txt.gz · 最終更新: 2018/10/07 (外部編集)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki