ユーザ用ツール

サイト用ツール


kerasで自前データで機械学習

差分

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

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
kerasで自前データで機械学習 [2017/08/02] adash333kerasで自前データで機械学習 [2019/06/30] (現在) – [(7)Kerasで自前データで機械学習] adash333
行 1: 行 1:
 ===== (7)Kerasで自前データで機械学習 ===== ===== (7)Kerasで自前データで機械学習 =====
 +
 +<html>
 +<iframe width="560" height="315" src="https://www.youtube.com/embed/SEVd0iervv8" frameborder="0" allowfullscreen></iframe>
 +</html>
  
 http://twosquirrel.mints.ne.jp/?p=19448 http://twosquirrel.mints.ne.jp/?p=19448
 +自前のデータでKerasで画像分類を写経してみる(1)
 +2017/7/31
  
 以下のサイトのコードをコピペです。(このような分かりやすい解説に大感謝です。) 以下のサイトのコードをコピペです。(このような分かりやすい解説に大感謝です。)
行 28: 行 34:
  
 ==== 1.C:/python/ フォルダ下に、dataフォルダ以下を作成 ==== ==== 1.C:/python/ フォルダ下に、dataフォルダ以下を作成 ====
 +<code>
 data/train/apple   ←りんご画像約20個をダウンロード data/train/apple   ←りんご画像約20個をダウンロード
     /train/orange   ←オレンジ画像約20個をダウンロード     /train/orange   ←オレンジ画像約20個をダウンロード
     /test/apple    ←りんご画像約5個をダウンロード     /test/apple    ←りんご画像約5個をダウンロード
     /test/orange   ←オレンジ画像約5個をダウンロード     /test/orange   ←オレンジ画像約5個をダウンロード
 +</code>
 この4つのフォルダを作成し、 この4つのフォルダを作成し、
 Google画像検索で出てきた画像を、 Google画像検索で出てきた画像を、
行 39: 行 46:
 ファイル名はなんでもよい。 ファイル名はなんでもよい。
 画質もむちゃくちゃ。 画質もむちゃくちゃ。
- 
- 
- 
  
 ==== 2.Anaconda Promptを起動後、jupyter notebookの起動 ==== ==== 2.Anaconda Promptを起動後、jupyter notebookの起動 ====
行 51: 行 55:
 画面右上の方の、「New」>「Python3」で新しいタブを開く 画面右上の方の、「New」>「Python3」で新しいタブを開く
  
 +==== 3.fruit.pyのコードをコピペして、Shift+Enter で実行。 ====
 +以下のコードをコピペして、Shift+Enterで実行。
  
-==== 3.fruit.pyのコードをコピペしてShift+Enter で実行。\\ ==== +https://gist.github.com/adash333/20151dd19e3d3275edbd0b121e036c64 
-サイトの、fruit.py のコードをコピペして、Shift+Enter実行+ 
 +上記コード、下サイトの、fruit.py のコードを全部コピペして、最後に、モデル可視化のコードを加えたもの
  
 Kerasによる、ものすごくシンプルな画像分類(りんごとオレンジ) Kerasによる、ものすごくシンプルな画像分類(りんごとオレンジ)
 http://qiita.com/hiroeorz@github/items/ecb39ed4042ebdc0a957 http://qiita.com/hiroeorz@github/items/ecb39ed4042ebdc0a957
  
 +以上で、\\
 +(1)約20枚ずつのりんごとオレンジの画像から学習(train)し、\\
 +(2)その学習したモデルから、別の5枚のりんご画像と5枚のオレンジ画像を、りんごかオレンジかを予測させてみた\\
 +(3)今回は、その10枚の予測の正解率は100%であった\\
 +[[http://twosquirrel.mints.ne.jp/wp-content/uploads/2017/07/image-326.png|結果の図の例]]\\
 +ということになります。
 +
 +(動画の解説はここまで)
 +
 +==== メモ ====
  
-https://gist.github.com/adash333/20151dd19e3d3275edbd0b121e036c64 
  
 さらに、以下を組み合わせたい さらに、以下を組み合わせたい
行 96: 行 112:
     print(result)     print(result)
 </code> </code>
 +
 +上記コードを少し変更
 +
 +<code>
 +# original code from http://yujikawa11.hatenablog.com/entry/2017/01/09/153436
 +
 +from keras.preprocessing import image
 +import numpy as np
 +import sys
 +
 +filepath = "./pikachu.jpg"
 +image = np.array(Image.open(filepath).resize((25, 25)))
 +print(filepath)
 +image = image.transpose(2, 0, 1)
 +image = image.reshape(1, image.shape[0] * image.shape[1] * image.shape[2]).astype("float32")[0]
 +result = model.predict_classes(np.array([image / 255.]))
 +print("result:", result[0], "(0:りんご, 1:オレンジ)")
 +</code>
 +
 +さらに変更
 +<code>
 +テスト
 +</code>
 +
 +https://gist.github.com/adash333/15d9b33eef7a00f993bbc32a168f6ca0
 +
  
 ===== 画像をkerasに読み込ませる方法 ===== ===== 画像をkerasに読み込ませる方法 =====
行 113: 行 155:
  
 これを、numpy配列に直して、数字の配列に変換することにより、初めて、kerasが、画像を認識することができるようになる。 これを、numpy配列に直して、数字の配列に変換することにより、初めて、kerasが、画像を認識することができるようになる。
 +
 +具体的には、
 +
 +from keras.preprocessing import image
 +import numpy as np
 +
 +のあと、、、、
 +
 +Numpy配列というものを、ある程度、使えるようにしておく必要がある。
 +数学での行列とは微妙にことなるところがあるので、注意。
 +
 +Numpy
 +reshape
 +transpose
 +http://www.mathgram.xyz/entry/keras/preprocess/img
 +
 +
 +
 +===== numpy =====
 +NumPyで画像処理\\
 +http://www.mwsoft.jp/programming/computer_vision_with_python/1_3_numpy.html
 +
 +http://qiita.com/supersaiakujin/items/c580f2aae90818150b35\\
 +[Python]Numpyデータの並べ替え
 +
 +
 +https://deepage.net/features/numpy-transpose.html\\
 +2017-06-23
 +配列の軸の順番を入れ替えるNumPyのtranspose関数の使い方
 +
 +
 +
 +Python – NumPyで画像を配列として取得する
 +投稿者: edo1z 投稿日: 09/27/2015\\
 +https://endoyuta.com/2015/09/27/python-numpyで画像を配列として取得する/
 +
 +
 +numpyのテンソル(配列)関係\\
 +http://oppython.hatenablog.com/entry/2014/01/05/004454
 +
 +numpyの多次元配列の「軸を入れ換える」ということについての学習
 +ラベル: Python
 +2015年10月03日20時00分公開
 +2016年11月30日08時27分更新\\
 +https://p--q.blogspot.jp/2015/10/numpy.html?m=1\\
 +この解説が具体的で分かりやすい!しかし、これでと、軸とかいまいちよくわからない、
 +
 +
 +http://discexuno.wp.xdomain.jp/2016/10/21/pythonnumpytransposeを用いた3次元のデータの転置/\\
 +PYTHON
 +[Python+Numpy]transposeを用いた3次元のデータの転置
 +2016年10月21日 ばいろん
 +
 +
 +http://python-remrin.hatenadiary.jp/entry/2017/05/10/183809\\
 +2017-05-10
 +NumPyの使い方(4) 形状変換と転置
 +
 +
 +http://sleeping-micchi.hatenablog.com/entry/2014/04/18/003935\\
 +
 +多次元行列の転置
 +多次元行列の軸の入れ替え
 +多次元行列の軸の入れ換えとは、該当する要素の軸を入れ替えた新しい行列を作成すること
 +
 +2次元行列の場合
 +2x3行列の場合
 +元の行列のa13を、新しい行列のb31に設定。
 +元の行列の全ての要素について同様の操作を行う
 +すると、新しい行列のBは、3x2行列として出来上がる。
 +(絵の説明を入れたい)
 +
 +3次元行列の場合
 +3x2x4行列の場合
 +
 +http://qiita.com/secang0/items/1229212a37d8c9922901\\
 +行列による画像処理 基礎編&目次 ~Python画像処理の再発明家~
 +secang0
 +2017年04月05日に更新
 +
 +作成中
 +
  
  
行 123: 行 247:
 https://librabuch.jp/blog/2013/05/python_pillow_pil/\\ https://librabuch.jp/blog/2013/05/python_pillow_pil/\\
 Python 3.5 対応画像処理ライブラリ Pillow (PIL) の使い方 Python 3.5 対応画像処理ライブラリ Pillow (PIL) の使い方
 +
 +http://aokiji.science/blog/?p=219\\
 +Pythonで画像処理
 +2015-04-17 画像の切り出しなど
  
 today 2013-05-06 Mon person Takahiro Ikeuchi today 2013-05-06 Mon person Takahiro Ikeuchi

kerasで自前データで機械学習.1501681493.txt.gz · 最終更新: 2018/10/07 (外部編集)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki