steps_per_epoch是否用完了整个数据集

时间:2019-10-14 06:47:41

标签: tensorflow keras

我有一个由生成器创建的大型训练数据集,大约有60,000批(大小为32)。由于训练所需的时间,我需要使用回调来定期保存模型。但是,我希望保存该消息的频率要比每个周期60,000次更频繁,因为在Colab上大约需要2个小时。

据我了解,设置steps_per_epoch将给我较小的纪元,比如说10,000。从文档中对我来说不清楚的是,这仍将在我的整个60k批次中循环,还是会在10k处停止并重复10k?也就是说,使用steps_per_epoch时,新纪元会从上一个中断的地方开始吗?

谢谢朱利安

1 个答案:

答案 0 :(得分:0)

虽然我具体不知道该选项,但它不会重用旧数据,因为数据集仅用于向前处理。如果它重复了数据,那么它将不得不在某个地方存储它已经处理过的所有内容的副本,因为您无法重置生成器。在大型数据集上这不切实际。