【问题标题】:Why does Keras accept a batch size option for model.evaluate?为什么 Keras 接受 model.evaluate 的批量大小选项?
【发布时间】:2020-05-26 16:41:15
【问题描述】:

为什么 Tensorflow 中 Keras API 的 evaluate 函数接受 batch_size?据我所知,这个参数应该只与管理我们在训练期间每次迭代使用的样本数量有关。这种选择对模型评估有什么影响?

【问题讨论】:

    标签: tensorflow keras


    【解决方案1】:

    批量大小主要用于基于序列的预测或时间序列预测。

    以下是在预测时必须使用批量大小的情况。

    在Time Series 用例中,可能需要在训练网络时使用大批量大小,在进行预测时使用批量大小为 1 以预测序列中的下一步。

    对于Stateful RNN,需要在预测/评估期间提供固定的批大小,其中当前批的输出状态用作下一批的初始状态。他们将信息从一个批次保存到另一个批次。

    如果您的模型在技术上不属于此类类别,则您无需在评估期间提供batch size 作为输入。即使您提供批量大小,它也是您一次为 GPU 提供的数据量。

    【讨论】:

    • 谢谢,但是如果使用批量大小进行预测大于 1 有什么好处?另外,如果我正确理解了您上面写的内容,那么预测的批量大小实际上与训练中的批量大小没有任何关系,或者我错过了什么?
    猜你喜欢
    • 2016-10-21
    • 1970-01-01
    • 2017-09-27
    • 1970-01-01
    • 2018-12-20
    • 2017-11-12
    • 1970-01-01
    • 2021-01-10
    • 1970-01-01
    相关资源
    最近更新 更多