我正在使用 Keras 2.0.0,我想在 GPU 上训练一个具有大量参数的深度模型。由于我的数据很大,我必须使用ImageDataGenerator
. 老实说,我想ImageDataGenerator
在这个意义上滥用,我不想执行任何增强。我只想将我的训练图像成批(并重新调整它们),这样我就可以将它们提供给model.fit_generator
.
我从这里修改了代码,并根据我的数据做了一些小的改动(即将二进制分类改为分类。但这对于应该在这里讨论的这个问题无关紧要)。我有 15000 张火车图像,我想要执行的唯一“增强”是将范围 [0,1] 重新缩放到train_datagen = ImageDataGenerator(rescale=1./255)
. 创建我的 'train_generator' 后:
train_generator = train_datagen.flow_from_directory(
train_data_dir,
target_size=(img_width, img_height),
batch_size=batch_size,
class_mode='categorical',
shuffle = True,
seed = 1337,
save_to_dir = save_data_dir)
我通过使用来拟合模型model.fit_generator()
。
我将时期的数量设置为:epochs = 1
并将 batch_size 设置为:batch_size = 60
我希望在存储我的增强(即调整大小)图像的目录中看到:每个时期 15.000 个重新缩放的图像,即只有一个时期:15.000 个重新缩放的图像。但是,神秘的是,有 15.250 张图像。
有这么多图像的原因吗?我是否有权控制增强图像的数量?
类似的问题:
模型 fit_generator 未按预期提取数据样本(分别在 stackoverflow:Keras - How are batches and epochs used in fit_generator()?)
我感谢您的帮助。