Ваши шаги за эпоху плохо управляются. Вы пытаетесь проверить дважды тоже ..
Попробуйте без float
и int
:
history = model.fit_generator(
train_data_gen,
steps_per_epoch=np.ceil(train_data_gen.n / batch_size),
epochs=num_epochs,
validation_data=val_data_gen,
validation_steps=np.ceil(val_data_gen.n / batch_size),
verbose=1,
)
распечатать значения размера генератора, steps_per_epoch
должно отражать число шагов обучения (обычно определяется функцией генератора)
И убедитесь, что train_data_gen.n = total_training_samples
и то же самое для val_data_gen.n = total_validation_samples
ИЛИ, просто закомментируйте steps_per_epoch
и validation_steps
, и модель будет взять длину генератора в качестве шага обучения.
Консультироваться: https://keras.io/models/model/#fit_generator