首页 > 解决方案 > 带有 fit_generator() 与 fit() 的 Keras 进度条

问题描述

当我运行fit()进度条功能时,每个时期显示一个条,并随着条的进展计算样本数。

使用fit_generator(), 而不是样本,它似乎显示了已经完成了多少“产量”。这个对吗?

例如。如果我预先制作 10000 个训练对并运行fit(),它会计数到 10000。但是如果我制作一个生成器,每个产量创建 10000 个样本,并使用 1 个 step_per_epoch,即使仍在使用 10000 个样本,它也只会计数到 1。我在想这个吗?如果是这样,这种行为的基本原理是什么?

标签: tensorflowkeras

解决方案


每个时期的柱数fit()由训练对的总数除以批量大小给出。在您的 10000 个训练对的示例中,如果批量大小为 10,则一个时期中显示的条数将为 1000。

而在 的情况下fit_generator(),每个时期的柱数等于 的值steps_per_epoch。因此,如果您的收益生成 10000 个样本,那么每个时期的步数将为 1。但是,如果收益是 10 对,那么您将看到每个时期有 1000 个柱形图,类似于fit().


推荐阅读