使用 keras 运行 数据扩充

Data Augmentation with keras running out of data

为什么这段代码不起作用,它直接取自“使用 Python 进行深度学习”一书。我收到错误消息:

"警告:tensorflow:您的输入 运行 数据不足;中断训练。确保您的数据集或生成器至少可以生成 steps_per_epoch * epochs 批次(在本例中为 50 批次)。您可能需要在构建数据集时使用 repeat() 函数。"

这是相关代码的片段:

train_datagen = ImageDataGenerator(
    rescale=1./255,
    rotation_range=40,
    width_shift_range=0.2,
    height_shift_range=0.2,
    shear_range=0.2,
    zoom_range=0.2,
    horizontal_flip=True,)

test_datagen = ImageDataGenerator(rescale=1./255)

train_generator = train_datagen.flow_from_directory(
        train_dir,
        target_size=(150, 150),
        batch_size=32,
        class_mode='binary')

validation_generator = test_datagen.flow_from_directory(
        validation_dir,
        target_size=(150, 150),
        batch_size=32,
        class_mode='binary')

history = model.fit_generator(
      train_generator,
      steps_per_epoch=100,
      epochs=100,
      validation_data=validation_generator,
      validation_steps=50)

我不明白为什么它要我更改批量大小或 steps_per_epoch,当它在书中工作时。

您可以尝试以下方法:

steps_per_epoch=train_generator.n//train_generator.batch_size

并且:

validation_steps=validation_generator.n//validation_generator.batch_size