答案 0 :(得分:1)
大家好,我找到了答案。 如果是这样,它将采取剩余的10个样本到时代的最后一步。
例如:15x66+10=1000
意味着将需要66批15号的批次,而最后的步骤仅需10批次。
无论如何,这仅适用于input_shape
,如果我们使用batch_input_shape
,它将给我们一个错误,因为我们在图形级指定了批处理形状。
答案 1 :(得分:0)
这对您的培训和验证数据没有问题。生成器将对此进行处理。因此,您可以简单地使用:
STEPS = train_generator.n // train_generator.batch_size
VALID_STEPS = validation_generator.n // train_generator.batch_size
history = model.fit_generator(
train_generator,
steps_per_epoch=STEPS,
epochs=100,
validation_data=validation_generator,
validation_steps=VALID_STEPS)
但是,对于您的测试集,请确保批次大小适合数据,否则当比较两者时,您可能会面临预测与真实标签不匹配的风险(请参阅突出显示此https://medium.com/difference-engine-ai/keras-a-thing-you-should-know-about-keras-if-you-plan-to-train-a-deep-learning-model-on-a-large-fdd63ce66bd2的本文)。您可以使用循环来确保批次大小适合您的数据,例如:
for i in range(1,160):
if len(test_data) % i == 0:
div = i
batch_size = div