■ 今回、学ぶこと
[1] CIFAR-10を使った機械学習 [2] TensorBoardの起動
■ TensorFlow での機械学習 / 画像分類の流れ
[1] 学習用データを集める(ついでに評価用のデータも) [2] 学習する [3] 評価する
■ チュートリアルを動かしてみる
ファーストステップとして、 CIFAR-10 (サイファー・テン) というデータセットを使って 機械学習の感じを掴む。
前提条件
* Anaconda / TensorFlow の環境は、構築されていること * 構築されていない場合、以下の関連記事を参考に構築する
実行手順
【1】 実行準備(ファイルのダウンロード) 【2】 チュートリアル実行 【3】TensorBoard でモデルを確認 【4】学習をしたモデルを使って評価用データを判定
【1】 実行準備
[1-1] 以下のサイトから、#1~#4のファイルをダウンロードし、 同じ階層に配置する(今回は「C:\cifar10」。以下の[配置例]を参照)
https://github.com/tensorflow/models/tree/master/tutorials/image/cifar10
[配置例] C:\cifar10 + cifar10_input.py + cifar10_train.py + cifar10_eval.py 【任意設定】 [1-2] 「cifar10_train.py」をテキストエディタで開き、 以下「■ 修正後」を修正 # これをやらないと、学習がずっとやってる... 修正してもデータ数を減らしても長いし... ~~~~~~ ■ 修正前 tf.app.flags.DEFINE_integer('max_steps', 1000000, """Number of batches to run.""") ■ 修正後 tf.app.flags.DEFINE_integer('max_steps', 2000, """Number of batches to run.""") ~~~~~~
# | ファイル名 | 説明 | 備考 |
---|---|---|---|
1 | cifar10_input.py | CIFAR-10のバイナリファイル読込 | |
2 | cifar10.py | CIFAR-10のモデル構築 | |
3 | cifar10_train.py | CIFAR-10のモデルを訓練 | |
4 | cifar10_eval.py | CIFAR-10のモデルを評価 |
【2】 チュートリアル実行
[2-1] Anacondaを立ち上げて、[Enviroments]→「Application on」で「tensorflow」の「▶」アイコン→ 「Open Terminal」を選択し、コマンドプロンプトを開く [2-2] [1]のファイルを保存した階層まで移動し、「cifar10_train.py」を実行し、学習させる ~~~~~~ cd C:\cifar10 python cifar10_train.py ~~~~~~
【3】TensorBoard でモデルを確認
[3-1] 以下を実行し、TensorBoardを起動する(Ctrl + C で、終了) ~~~~~~ tensorboard --logdir=C:\tmp\cifar10_train ~~~~~~ [3-2] ブラウザを起動し、「http://【コンピュータ名】:6006」にアクセスする 補足:「port:6006」を変更したい場合 => TensorBoard起動時に「--port=【変更したいポート番号】」を指定する ~~~~~~ tensorboard --logdir=C:\tmp\cifar10_train --port=16006 ~~~~~~
【4】学習をしたモデルを使って評価用データを判定
[4-1] 以下を実行し、学習をしたモデルを使って評価用の画像を判定 ~~~~~~ python cifar10_eval.py ~~~~~~
参考文献
チュートリアル
http://ayihis.hatenablog.com/entry/2016/08/02/162356
https://qiita.com/KojiOhki/items/e218f36840df10ae358d
https://pythondatascience.plavox.info/tensorflow%E3%81%A7%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%83%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0/tensorflow%E3%81%A7%E7%94%BB%E5%83%8F%E8%AA%8D%E8%AD%98
TensorBoard
http://ensekitt.hatenablog.com/entry/2018/01/28/200000
https://qiita.com/dora-gt/items/18440bea7aa0fc8aa17f
https://deepage.net/tensorflow/2017/04/25/tensorboard.html
画像認識
https://medium.com/0xc0ffee/tensorflow-%E3%81%A7%E9%A3%AF%E7%94%BB%E5%83%8F%E3%82%92%E5%88%A4%E5%88%A5%E3%81%99%E3%82%8B-b6f6b4ecabbe
https://resovaca.com/resort-programming/deeplearning/
顔認証
http://ceblog.mediba.jp/post/148732090077/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%81%A7%E8%8A%B8%E8%83%BD%E4%BA%BA%E3%81%AE%E9%A1%94%E3%82%92%E5%88%86%E9%A1%9E%E3%81%97%E3%81%A6%E3%81%BF%E3%82%88%E3%81%86
http://kivantium.hateblo.jp/entry/2015/11/18/233834
https://qiita.com/kenmaz/items/4b60ea00b159b3e00100
自作データでの画像分類
https://qiita.com/FukuharaYohei/items/fae6896e041235033454
https://qiita.com/mine820/items/f33bd93ed1b9f79a11e5
https://qiita.com/kimkim42/items/0790786bf1bd39e32af3
https://qiita.com/AkiyoshiOkano/items/72f3e4ba9caf514460ee
関連記事
TensorFlow ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2018/02/16/103500
TensorFlow ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2020/07/01/222125
TensorFlow ~ 環境構築 / Windows 編 ~
https://dk521123.hatenablog.com/entry/2018/02/17/102927