この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
kerasプログラミングの全体図 [2017/10/27] adash333 [Kerasプログラミングの全体図] |
kerasプログラミングの全体図 [2018/10/07] (現在) |
||
---|---|---|---|
ライン 1: | ライン 1: | ||
===== Kerasプログラミングの全体図 ===== | ===== Kerasプログラミングの全体図 ===== | ||
+ | <wrap hi>Keras2でMNIST目次</wrap>\\ | ||
+ | [[Kerasプログラミングの全体図]] | ||
+ | -[[(1)Kerasを使用するためのimport文]] | ||
+ | -[[(2)データ準備(Keras)]] | ||
+ | -[[(3)モデル設定(Keras)]] | ||
+ | -[[(4)モデル学習(Keras)]] | ||
+ | -[[(5)結果の出力(Keras)]] | ||
+ | -[[(6)学習結果の保存(Keras)]] | ||
+ | -[[(7)推測(Keras)]] | ||
- | 以下のような流れでプログラミング文を読んだり書いたりしていくと、分かりやすいと思います。 | + | Kerasを用いて機械学習を行う場合、以下のような流れでプログラミング文を読んだり書いたりしていくと、分かりやすいと思います。 |
実際に自前データを動かそうとするときは、ある程度、pythonの勉強と、機械学習の勉強が必要だと思われます。 | 実際に自前データを動かそうとするときは、ある程度、pythonの勉強と、機械学習の勉強が必要だと思われます。 | ||
ライン 7: | ライン 16: | ||
<code> | <code> | ||
# train.py | # train.py | ||
- | |||
#1 Kerasを使用するためのimport文 | #1 Kerasを使用するためのimport文 | ||
ライン 46: | ライン 54: | ||
image_list = [] | image_list = [] | ||
label_list = [] | label_list = [] | ||
- | (画像を読み込み、リサイズ、正規化などを行い、Numpy配列に変換し、「学習用データ」と「テストデータ」を作成する。) | + | # 画像を読み込み、リサイズ、正規化などを行い、 |
+ | # Numpy配列に変換し、「学習用データ」と「テストデータ」を作成する。 | ||
+ | X_train, X_test, y_train, y_test = train_test_split(image_list, label_list, test_size=0.33, random_state=111) | ||
#3 モデル設定(Keras) | #3 モデル設定(Keras) | ||
ライン 86: | ライン 96: | ||
</code> | </code> | ||
+ | ===== Kerasプログラミングの例(train.pyとpredict.py) ===== | ||
+ | C:/py/keras/MNIST_MLP/フォルダに、dataフォルダとtrain.py、predict.pyが入っており、dataフォルダの中身は以下のようになっているものとします。 | ||
+ | {{:pasted:20171028-011530.png}} | ||
+ | ==== train.py ==== | ||
+ | <html> | ||
+ | <script src="https://gist.github.com/adash333/5d1fe3b0a17059a3ffe3f16063c59054.js"></script> | ||
+ | </html> | ||
+ | |||
+ | Jupyter Notebookでの実行結果 | ||
+ | |||
+ | {{:pasted:20171028-011921.png}} | ||
+ | |||
+ | ==== predict.py ==== | ||
+ | |||
+ | <html> | ||
+ | <script src="https://gist.github.com/adash333/4812c0c0d2c2daa5db3d848456d96322.js"></script> | ||
+ | </html> | ||
+ | |||
+ | Jupyter Notebookでの実行結果 | ||
+ | |||
+ | {{:pasted:20171028-012121.png}} | ||
+ | |||
+ | とりあえず、コードをJupyter Notebook上でコピペして実行するところまででした。 | ||
+ | 次回から、このコードを順に解説させていただきたいと思います。 | ||
+ | 次:<wrap hi>[[(1)Kerasを使用するためのimport文]]</wrap> | ||
===== 参考文献 ===== | ===== 参考文献 ===== | ||
初めてKerasプログラミングをやるときは、以下の2つの本がおすすめです。[[http://amzn.to/2gRFbt3|ゼロから作るDeep Learning]]でPythonの基本と理論を学び、[[http://amzn.to/2yPNyw5|詳解 ディープラーニング]]で、Kerasでの実装方法を学ぶのがよいと思われます。 | 初めてKerasプログラミングをやるときは、以下の2つの本がおすすめです。[[http://amzn.to/2gRFbt3|ゼロから作るDeep Learning]]でPythonの基本と理論を学び、[[http://amzn.to/2yPNyw5|詳解 ディープラーニング]]で、Kerasでの実装方法を学ぶのがよいと思われます。 | ||
ライン 116: | ライン 151: | ||
===== 次節以降 ===== | ===== 次節以降 ===== | ||
- | [[https://github.com/fchollet/keras/blob/keras-2/examples/mnist_mlp.py|Keras公式GitHubの手書き数字MNISTのMLP(Multilayer perceptron )モデルによる学習]]を例に、一つずつ解説させていただきたいと思います。 | + | [[https://gist.github.com/adash333/5d1fe3b0a17059a3ffe3f16063c59054|上記の手書き数字MNISTのMLP(Multilayer perceptron )モデルによる学習]]を例に、一つずつ解説させていただきたいと思います。 |
いつもあまり面白くないMNISTですが、Kerasプログラミングを理解する上で避けて通れないので、頑張ってやってみたいと思います。 | いつもあまり面白くないMNISTですが、Kerasプログラミングを理解する上で避けて通れないので、頑張ってやってみたいと思います。 | ||
- | Keras2のコードを一部改変したコードを読みながら、解説していきます。 | + | ===== リンク ===== |
+ | 次 [[(1)Kerasを使用するためのimport文]] | ||
- | <html> | + | 前 [[Kerasで手書き文字認識MNIST]] |
- | <script src="https://gist.github.com/adash333/5d1fe3b0a17059a3ffe3f16063c59054.js"></script> | + | |
- | </html> | + | |
- | ===== リンク ===== | + | |
- | 目次 | + | |
- | -[[Kerasプログラミングの全体図]] | + | <wrap hi>Keras2でMNIST目次</wrap>\\ |
+ | [[Kerasプログラミングの全体図]] | ||
-[[(1)Kerasを使用するためのimport文]] | -[[(1)Kerasを使用するためのimport文]] | ||
-[[(2)データ準備(Keras)]] | -[[(2)データ準備(Keras)]] | ||
ライン 137: | ライン 171: | ||
-[[(6)学習結果の保存(Keras)]] | -[[(6)学習結果の保存(Keras)]] | ||
-[[(7)推測(Keras)]] | -[[(7)推測(Keras)]] | ||
+ | |||
+ |