Сколько изображений генерирует keras fit_generator?
Я использую керасы для увеличения и сегментации изображений. Я хочу исследовать количество сгенерированных изображений, поэтому я проверяю следующую настройку аргументов: (1) установите batch_size как 1 в flow_from_directory при определении генератора:
def myGene(...):
...
image_datagen = ImageDataGenerator(**aug_dict)
image_generator = image_datagen.flow_from_directory(...,batch_size = 1,..., save_prefix = 'view',...)
mask_datagen = ImageDataGenerator(**aug_dict)
mask_generator = mask_datagen.flow_from_directory(...,batch_size = 1,..., save_prefix = 'view',...)
...
(2) Во время обучения я устанавливаю epochs = 1 и steps_per_epoch=1:
model.fit_generator(myGene,steps_per_epoch=1,epochs=1,...)
После окончания обучения я ожидаю, что в каталоге "./view" только 1 изображение и 1 маска, но я действительно нашел там 11 пар.
Что здесь не так? Я не смог установить некоторые аргументы, или я сделал что-то не так?
1 ответ
В fit_generator
есть скрытый аргумент под названием max_queue_size=10
Это означает, что генератор будет пытаться создать очередь из 10 партий перед текущей тренировочной партией.
Вы просто видите изображения, созданные для заполнения очереди. Вы можете попробовать использовать max_queue_size=0
, но даже если вы можете увидеть дополнительное изображение.