日々精進

新しく学んだことを書き留めていきます

画像のData Augmentationをする上での知見

  • Augmentationを実行するコードは関数にして、以下のパターンで呼び出せるようにする
    • Augmentationした画像をjpgファイルとして保存する。 これはAugmentation結果が想定通りかを確認するために使用する。
    • 学習時に動的にAugmentationする。kerasならfitでなくfit_generatorを使うようにし、generator関数を定義する。 これがAugmentationしてできたファイルの数があまり多くない場合やどうAugmentationするか試行錯誤する段階で使う。Augmentation結果を一旦ファイルに保存して、それを読み込んで学習する場合、Augmentationの仕方が変わると面倒なので。
    • Augmentationして出来た画像をTFRecord形式で保存する。 これはAugmentationの仕方が固まっていて速く学習させたい場合に使用する。動的にAugmentationするより一旦TFRecord形式で保存したものを読み込む方が5~10倍程度速かった。 あと、最初は画像をjpgファイルとして保存してたけど、10万枚ぐらい一つのフォルダに保存してたらWinSCPでそこ開くとアプリが固まるし、S3に置いたらjpgファイルのダウンロードだけで数時間かかるし・・と色々不便だった。
  • imgaugは便利なので使おう dev.classmethod.jp

現場からは以上です。