history = model.fit_generator(
train_generator,
steps_per_epoch=50,
epochs=10,
verbose=1,
validation_data = validation_generator,
validation_steps=50)
tensorflow:您的输入数据用完;中断训练。确保您的数据集或生成器至少可以生成steps_per_epoch * epochs
个批次(在这种情况下为5000个批次)。构建数据集时,可能需要使用repeat()函数。
答案 0 :(得分:1)
要解决此问题,我们需要注意两项:
大多数答案都涵盖了第一个主题,第二个我找不到很好的答案,请尝试解释如下:
我的火车数据集包含93个数据样本,batch_size为32,因此第一个问题是: steps_per_epoch = total_train_size // batch_size = 93 // 32 = 2
对于第二个问题,这将取决于您的数据生成器可以提供多少不重复的批次,如果我有93个数据样本,每个批次需要32个两个样本,那么每个时期都有2个训练步骤。您将有93 // 2 = 46个纪元,这些纪元将不能提供重复的批处理,纪元47将导致此错误。
我没有找到有关tensorflow数据生成器的参考,所以这只是我的理解,如果有任何错误,请纠正我,谢谢!