Сколько изображений генерирует 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, но даже если вы можете увидеть дополнительное изображение.

Другие вопросы по тегам