我使用keras进行图像增强和分割。我想调查生成的图像数量,因此我测试以下参数设置: (1)在定义生成器时,在flow_from_directory中将batch_size设置为1:
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)训练时,我将历元设置为1,并将steps_per_epoch = 1:
model.fit_generator(myGene,steps_per_epoch=1,epochs=1,...)
培训结束后,我预计目录“ ./view”中只有1张图像和1个蒙版,但实际上在其中找到了11对。
这是怎么了?是我没有设置一些参数,还是做错了什么?
答案 0 :(得分:1)
在fit_generator
中,有一个名为max_queue_size=10
的隐藏参数,这意味着生成器将尝试在当前训练批次之前产生10个批次的队列。
您只是看到生成的用于填充队列的图像。您可以尝试使用max_queue_size=0
,即使您可能会看到额外的图像。