keras fit_generator 生成了多少图像?
How many images are generated by keras fit_generator?
我用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) 训练时,我设置epochs = 1 and steps_per_epoch=1:
model.fit_generator(myGene,steps_per_epoch=1,epochs=1,...)
训练完成后,我预计'./view'目录中只有1张图像和1张掩码,但我实际上在那里找到了11对。
这里有什么问题?是我没有设置参数,还是我做错了什么?
在fit_generator
中,有一个名为max_queue_size=10
的隐藏参数,这意味着生成器将尝试在当前训练批次之前生成一个包含 10 个批次的队列。
您看到的只是为填充队列而生成的图像。您可以尝试使用 max_queue_size=0
,但即使您可能会看到额外的图像。
我用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) 训练时,我设置epochs = 1 and steps_per_epoch=1:
model.fit_generator(myGene,steps_per_epoch=1,epochs=1,...)
训练完成后,我预计'./view'目录中只有1张图像和1张掩码,但我实际上在那里找到了11对。
这里有什么问题?是我没有设置参数,还是我做错了什么?
在fit_generator
中,有一个名为max_queue_size=10
的隐藏参数,这意味着生成器将尝试在当前训练批次之前生成一个包含 10 个批次的队列。
您看到的只是为填充队列而生成的图像。您可以尝试使用 max_queue_size=0
,但即使您可能会看到额外的图像。