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
----

<span style="float:right;">[[source]](https://github.com/keras-team/keras/tree/v3.6.0/keras/src/metrics/reduction_metrics.py#L47)</span>

### `Sum` class


```python
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