当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.keras.layers.Layer.add_metric用法及代码示例


用法

add_metric(
    value, name=None, **kwargs
)

参数

  • value 度量张量。
  • name 字符串指标名称。
  • **kwargs 用于向后兼容的附加关键字参数。接受的值:aggregation - 当提供的 value 张量不是调用 keras.Metric 实例的结果时,默认情况下将使用 keras.Metric.Mean 进行聚合。

将度量张量添加到图层。

此方法可以在子类层或模型的call() 方法中使用。

class MyMetricLayer(tf.keras.layers.Layer):
  def __init__(self):
    super(MyMetricLayer, self).__init__(name='my_metric_layer')
    self.mean = tf.keras.metrics.Mean(name='metric_1')

  def call(self, inputs):
    self.add_metric(self.mean(inputs))
    self.add_metric(tf.reduce_sum(inputs), name='metric_2')
    return inputs

该方法也可以在构造过程中直接在函数模型上调用。在这种情况下,传递给此模型的任何张量都必须是符号的,并且能够追溯到模型的 Input s。这些指标成为模型拓扑的一部分,并在您通过 save() 保存模型时进行跟踪。

inputs = tf.keras.Input(shape=(10,))
x = tf.keras.layers.Dense(10)(inputs)
outputs = tf.keras.layers.Dense(1)(x)
model = tf.keras.Model(inputs, outputs)
model.add_metric(math_ops.reduce_sum(x), name='metric_1')

注意:不支持使用函数模型上的度量对象的结果调用 add_metric(),如下例所示。这是因为我们无法将度量结果张量追溯到模型的输入。

inputs = tf.keras.Input(shape=(10,))
x = tf.keras.layers.Dense(10)(inputs)
outputs = tf.keras.layers.Dense(1)(x)
model = tf.keras.Model(inputs, outputs)
model.add_metric(tf.keras.metrics.Mean()(x), name='metric_1')

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.keras.layers.Layer.add_metric。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。