我正在使用Keras 2.0.0,我想在GPU上训练一个包含大量参数的深度模型 . 由于我的数据很大,我必须使用 ImageDataGenerator . 说实话,我想在这个意义上滥用 ImageDataGenerator ,我不想进行任何增强 . 我只是想将我的训练图像分批(并重新调整它们),所以我可以将它们提供给 model.fit_generator .

我调整了here的代码,并根据我的数据进行了一些小改动(即将二进制分类更改为分类 . 但这并不是我要执行的扩充',通过 train_datagen = ImageDataGenerator(rescale=1./255) 重新调整范围[0,1] . 创建'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的数量设置为: epochs = 1 并将batch_size设置为: batch_size = 60

我期望在我的增强(即调整大小)图像存储的目录中看到:每个时期重新计算的图像为15.000,即仅有一个时期:15.000个重新缩放的图像 . 但是,神秘地说,有15.250张图像 .

有这么多图像的原因吗?我是否有权控制增强图像的数量?

类似的问题:

Model fit_generator not pulling data samples as expected(分别在stackoverflow:Keras - How are batches and epochs used in fit_generator()?

A concrete example for using data generator for large datasets such as ImageNet

我感谢您的帮助 .