4

我正在使用 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()?

为 ImageNet 等大型数据集使用数据生成器的具体示例

我感谢您的帮助。

4

0 回答 0