【问题标题】:Keras fit_generator and steps_per_epochKeras fit_generator 和 steps_per_epoch
【发布时间】:2018-02-04 02:38:54
【问题描述】:

我注意到对于fit_generator,steps_per_epoch 参数通常被分配total_samples//batch_size

但是,如果我的 total_samples 是 1000 并且我的 batch_size = 32,那么似乎 我应该有 31.25 个批次,但我每个 epoch 只分配 31 个批次。

这是否意味着我将无法训练不完整的批次?

我假设shuffle 选项可以解决这个问题, 但如果我假设一个自定义生成器,shuffle 选项仍然有效吗?

【问题讨论】:

    标签: deep-learning keras


    【解决方案1】:

    是的,您将在此处仅分配 31 个步骤。你需要做的是:

    numpy.ceil(total_samples//batch_size)
    

    由于该模型可以接受任意数量的输入,因此即使最后一批小于 32 也可以工作。

    【讨论】:

    • 啊。我认为我的模型崩溃了,因为它无法接受样本小于批量大小的批次。将不得不重新测试。谢谢。
    • 不,我想这不是问题所在。如果您遇到任何错误,请告诉我。
    • 谢谢。它似乎工作。我认为是我的自定义生成器出现了问题,引发了该错误。
    • total_samples//batch_size 是整数除法。你只需要一个斜线。
    • 当我们洗牌时,我们如何确保看到和使用整个训练集?
    猜你喜欢
    • 2019-10-26
    • 2018-03-30
    • 2020-01-02
    • 2018-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-13
    • 2021-05-14
    相关资源
    最近更新 更多