TensorFlow / Keras - ImageDataGenerator を使った画像分類モデルの学習方法
概要
ImageDataGenerator を使用して画像分類の学習を行うチュートリアル。
Jupyter Notebook
本記事のコード全体は以下。
keras-image-data-generator-usage.ipynb
- 概要
- 関連記事
- Jupyter Notebook
- flower_photos
- モデルを作成する。
- モデルをコンパイルする。
- ImageDataGenerator を作成する。
- 学習する。
- 損失関数の値、精度の履歴を可視化する。
- 評価する。
- 推論する。
Keras - Keras の ImageDataGenerator を使って学習画像を増やす
概要
CNN の学習を行う場合にオーグメンテーション (augmentation) を行い、学習データのバリエーションを増やすことで精度向上ができる場合がある。
Keras の preprocessing.image モジュールに含まれる ImageDataGenerator を使用すると、リアルタイムにオーグメンテーションを行いながら、学習が行える。
キーワード
- ImageDataGenerator
- オーグメンテーション (augmentation)
関連記事
具体的な使い方は以下を参照。
- 概要
- キーワード
- 関連記事
- ImageDataGenerator
- 基本的な使い方
- オーグメンテーションの種類
- 回転する。
- 上下反転する。
- 左右反転する。
- 上下平行移動する。
- 左右平行移動する。
- せん断 (shear transformation) する。
- 拡大縮小する。
- 各画素値に値を足す。
- 明度を変更する。
- 外挿方法
- 定数倍する。
- コールバック関数による前処理を行う。
- データセット全体で各チャンネルごとの画素値の平均を0にする。
- データセット全体で各チャンネルごとの画素値の分散を1にする。
- 白色化を行う。
- サンプルごとの画素値の平均を0にする。
- サンプルごとの画素値の分散を1にする。
- 生成した画像をフォルダに保存する。
- 参考