首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AttributeError:模块“tensorflow.keras.metrics”没有属性“F1Score”

AttributeError:模块“tensorflow.keras.metrics”没有属性“F1Score”
EN

Stack Overflow用户
提问于 2021-03-25 05:27:07
回答 1查看 2.3K关注 0票数 1

在运行以下代码时,<<已经将tensorflow_addons导入为tfa

代码语言:javascript
复制
    densenetmodelupdated.compile(loss ='categorical_crossentropy', optimizer=sgd_optimizer, metrics= 
      ['accuracy', tf.keras.metrics.Recall(),
                        tf.keras.metrics.Precision(),   
                        tf.keras.metrics.AUC(),
                        tfa.metrics.F1Score(num_classes=25, average="macro")]) 

<<它显示错误

代码语言:javascript
复制
AttributeError                            Traceback (most recent call last)
<ipython-input-25-5f3ab8b4cc77> in <module>()
     16                         tf.keras.metrics.Precision(),
     17                         tf.keras.metrics.AUC(),
---> 18                         tfa.metrics.F1Score(num_classes=25, average="macro")])                        

AttributeError: module 'tensorflow.keras.metrics' has no attribute 'F1Score'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-16 10:13:37

tensorflow_addons 0.16.0使用Tensorflow 2.7.0,tfa.metrics.F1Score工作得很好。

工作样例代码

代码语言:javascript
复制
import tensorflow_addons as tfa
import numpy as np
metric = tfa.metrics.F1Score(num_classes=3, threshold=0.5)
y_true = np.array([[1, 1, 1],
                   [1, 0, 0],
                   [1, 1, 0]], np.int32)
y_pred = np.array([[0.2, 0.6, 0.7],
                   [0.2, 0.6, 0.6],
                   [0.6, 0.8, 0.0]], np.float32)
metric.update_state(y_true, y_pred)
result = metric.result()
result.numpy()

输出

代码语言:javascript
复制
array([0.5      , 0.8      , 0.6666667], dtype=float32)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66793574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档