我在keras中使用带有fit_generator的数据生成器(用于训练和验证数据)。 我得到了意想不到的结果,因此我对生成器进行了检测,以输出批处理索引并计算自上个时期以来的步骤数。我已经在模型指标中添加了['acc']。
fit_generator运行时,我看到它做了几件事:
on_epoch_end()在3和5的10个步骤之后从未被调用。这可能是一个错误,因为我们需要在下一个纪元之前重置生成器。
我主要想了解3和5发生了什么,为什么要调用生成器,为什么只需要十步?
Versions:
print(keras.__version__)
2.2.2
print(tf.__version__)
1.9.0
答案 0 :(得分:0)
根据Matias的评论:其他批次对应于下一个时期的预先排队的批次。当fit_generator返回时,它们会掉在地板上。在再次调用fit_generator之前,由用户来重置生成器。