質問
今回は、以下のような訓練データのディレクトリ構造であるとします。
train_dir ├── class1 ├── class2 : └── class10
次に、以下のようなジェネレータを作成します。
Python
1datagen = image.ImageDataGenerator( 2 rotation_range = 360, 3 width_shift_range = 5, 4 height_shift_range = 5, 5 rescale = 1./255, 6 fill_mode = "constant" 7) 8 9train_generator = datagen.flow_from_directory( 10 directory = train_dir, 11 target_size = (img_w, img_h), 12 batch_size = 10, 13 color_mode = "grayscale", 14 class_mode = "categorical" 15) 16 17train_generator.next()
このプログラムでは、最後のtrain_generator.next()
において指定した回転・平行移動などの処理が施された10枚の画像が出力されますが、それらの画像は10種類すべてのクラスを網羅しているわけではないと思います。
そこで質問ですが、例えばこのバッチサイズを100に増やしたとき、1回のnext()
で出力される100枚の画像に訓練するクラスの偏りは発生しないのでしょうか。
例えば、class8
に属する画像が他のクラスに比べて少ない、といったことです。
もちろん、例えば100のバッチサイズをfor文で100回呼び出して10000枚の画像にすれば問題ないかもしれません。
ですがその場合、その10000枚のように問題がないと言い切れるほどの画像の枚数はいくらが一般的でしょうか。
よろしくお願いします。
あなたの回答
tips
プレビュー