Keras 中的指标是如何计算的?

flo*_*o29 8 python deep-learning keras

我想知道 Keras 如何计算指标(是否自定义)。

例如,假设我有以下度量,它产生预测和真实情况之间的最大误差:

def max_error(y_true, y_pred):

    import keras.backend as K

    return K.max(K.abs(y_true-y_pred))
Run Code Online (Sandbox Code Playgroud)

输出标量指标是在所有小批量上计算然后取平均值还是直接在整个数据集(训练或验证)上计算?

tyr*_*rex 7

关于 VALIDATION 集的指标,需要了解一些额外信息:

与另一个答案中建议的相反,我刚刚看到验证集上的指标是分批计算的,然后求平均值(当然使用纪元结束时的训练模型,这与指标分数的方式相反)计算训练集)。

如果您想立即对整个验证数据进行计算,则必须使用guangshengzuo接受的答案中描述的回调( 有关更多详细信息,请参阅https://keras.io/guides/writing_your_own_callbacks/ )。

当然,对于通常的指标,无论是先批量计算并求平均值,还是一次性计算,都没有任何区别。但对于自定义指标,很可能是这样的:我刚刚遇到了一种情况,指标会根据数据调整参数。

编辑:添加了回调链接,以响应评论