Keras 3 API 文档 / 指标 / 指标包装器和归约指标

指标包装器和归约指标

[源代码]

MeanMetricWrapper

keras.metrics.MeanMetricWrapper(fn, name=None, dtype=None, **kwargs)

使用 Mean 指标包装一个无状态的指标函数。

你可以使用此类从一个函数快速构建一个均值指标。该函数需要具有签名 fn(y_true, y_pred) 并返回一个每样本损失数组。MeanMetricWrapper.result() 将返回到目前为止看到的所有样本的平均指标值。

例如

def mse(y_true, y_pred):
    return (y_true - y_pred) ** 2

mse_metric = MeanMetricWrapper(fn=mse)

参数

  • fn: 要包装的指标函数,签名是 fn(y_true, y_pred, **kwargs)
  • name: (可选) 指标实例的字符串名称。
  • dtype: (可选) 指标结果的数据类型。
  • **kwargs: 要传递给 fn 的关键字参数。

[源代码]

Mean

keras.metrics.Mean(name="mean", dtype=None)

计算给定值的(加权)平均值。

例如,如果 values 是 [1, 3, 5, 7],则平均值为 4。如果 sample_weight 被指定为 [1, 1, 0, 0],则平均值将为 2。

此指标创建两个变量,totalcount。返回的平均值只是 total 除以 count

参数

  • name: (可选) 指标实例的字符串名称。
  • dtype: (可选) 指标结果的数据类型。

示例

>>> m = Mean()
>>> m.update_state([1, 3, 5, 7])
>>> m.result()
4.0
>>> m.reset_state()
>>> m.update_state([1, 3, 5, 7], sample_weight=[1, 1, 0, 0])
>>> m.result()
2.0

[源代码]

Sum

keras.metrics.Sum(name="sum", dtype=None)

计算给定值的(加权)总和。

例如,如果 values[1, 3, 5, 7],则它们的总和为 16。如果 sample_weight 被指定为 [1, 1, 0, 0],则总和将为 4。

此指标创建一个变量,total。这最终作为总和值返回。

参数

  • name: (可选) 指标实例的字符串名称。
  • dtype: (可选) 指标结果的数据类型。

示例

>>> m = metrics.Sum()
>>> m.update_state([1, 3, 5, 7])
>>> m.result()
16.0
>>> m = metrics.Sum()
>>> m.update_state([1, 3, 5, 7], sample_weight=[1, 1, 0, 0])
>>> m.result()
4.0