Tensorflow 2 中模型metric的设置方法总结

  • Post author:
  • Post category:其他




1. 设置方法

以下内容,引用自

Model官方手册

——“

compile

”中

metrics

参数的解释。



1.1

metrics

表示形式

每个指标可以是一个

字符串

(内置函数的名称)、

函数



tf.keras.metrics.Metric


实例

。请参见

tf.keras.metrics

  1. 通常情况下,您会使用

    metrics=['accuracy']

    (此为

    字符串


  2. 函数

    是任何具有签名的可调用对象

    result=fn(y_true,y_pred)



1.2

metrics

传值方式

为了为多输出模型的不同输出指定不同的指标,

  1. 您也可以传递一个

    字典

    ,例如

    metrics={'output_a':'accuracy', 'output_b':['accuracy', 'mse']}

  2. 您还可以传递一个

    列表

    来指定每个输出的

    指标



    一组指标

    ,例如

    metrics=[['accuracy'], ['accuracy', 'mse']]



    metrics=['accuracy', ['accuracy', 'mse']]



    但注意因为每个输出可以有多个指标,所以在传列表的时候就不能直接传一个1维列表,而应该传一个二维列表,但在该二维列表的最后一个轴上的元素个数可以不同。

当您传递字符串

'accuracy'



'acc'

时,我们会根据目标和模型输出的形状(

shape

)将其转换为

tf.keras.metrics.BinaryAccuracy



tf.keras.metrics.CategoricalAccuracy



tf.keras.metrics.SparseCategoricalAccuracy

之一(此为

tf.keras.metrics.Metric


实例

)。对于

字符串


'crossentropy'



'ce'

,我们也进行类似的转换。



1.3

metrics

样本加权

在这里传递的指标是不带样本加权的;如果您希望应用样本加权,您可以通过

weighted_metrics

参数指定您的指标。



2. 例程

更多例程可以参考

  1. 官方指南:《

    使用内置方法进行训练和评估

    》——“

    将数据传递到多输入、多输出模型

    ”部分;
  2. 官方指南:《

    不平衡数据的分类

    》——“

    定义模型和指标

    ”部分。



版权声明:本文为ly869915532原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。