頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


KerasのImageDataGeneratorで画像データの水増し

3チャンネル画像だとKerasとMPSの計算が合わない
↑この続き。
Kerasで学習のやり直しをすることに。せっかくなので画像データの水増しを試してみた。
TensorFlowでも画像データを増やせる関数などがあったがKerasにもImageDataGeneratorというものがあるようで取り入れてみた。

画像の前処理 - Keras Documentation
↑公式はこちら。

修正部分はこんな感じ↓
from keras.preprocessing.image import ImageDataGenerator

datagen = ImageDataGenerator(
                             rotation_range = 3 , 
                             width_shift_range = 0.1,
                             height_shift_range = 0.1,
                             zoom_range = 0.02,
                             channel_shift_range = 10.0, 
                             )#—(1)

datagen.fit(x_train)#—(2)


#history = model.fit(x_train, y_train, batch_size=batch_size, … #—(3)
history = model.fit_generator(
                              datagen.flow(x_train, y_train, batch_size=batch_size),…#—(4)

↑(1)ImageDataGeneratorで目的に合致するもので使えそうなのを選んで設定。
どのように画像が変化するのかは参考ページなどに。
(2)は内容によっては不要かも。
ImageDataGeneratorを使う前は(3)のfit関数で訓練を実行していたのだけど、(4)の形式に変更。

調子に乗って盛り込みすぎると学習が進まなくなってしまったので、ほどほどがよさそう、、、ほどほどってなんやねん!?将来はそういうのもKerasが良きに計らってくれたらいいのにな。


参考ページ
Kerasによるデータ拡張 - 人工知能に関する断創録
Kerasでデータ拡張(Data Augmentation)後の画像を表示する - Qiita


スポンサーサイト

<< GameKitでボイスチャットができない  TopPage  3チャンネル画像だとKerasとMPSの計算が合わない >>

コメント


管理者にだけ表示を許可する
 

トラックバック

トラックバックURL
https://ringsbell.blog.fc2.com/tb.php/1263-2ac252c2




Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.

FC2Ad