qq_40593670 2019-02-25 10:03 采纳率: 0%
浏览 3301

tensorflow怎么写语义分割评价指标

下的代码只有accuracy和miou两个指标,用的tf.contrib.metrics.streaming_
accuracy和_miou函数。由于,我的是二类分割任务,背景面积很大考虑背景不太好,所以我直接把accuracy改成了precision,miou改成了recall,代码运行没有问题,但是precision和recall运行了上千代还是0.1几,这是什么原因???

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-10-25 19:24
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 这篇博客也许可以解决你的问题👉 :树莓派调用tensorflow错误解决
    • 除此之外, 这篇博客: 【Tensorflow】多分类问题的Precision、Recall和F1计算及Tensorflow实现中的 2.1 方法一:micro average 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

      该方法的核心思想是将多个类别分组,真正关心的类别分为Positive组,其他分为Negative组。例如在命名实体识别任务中,将所有实体的类别分为Positive组,而其他标签’O’单独分为Negative组。下面以多分类的混淆矩阵(confuse matrix)为基础计算Precision、Recall和F1值。
      下图是多分类问题的混淆矩阵:
      在这里插入图片描述
      其中,假设类别1和类别2是Positive组,类别3和类别4是Negative组。
      那么真正例(TP)可以定义为Positive组预测正确的样本数,那么下图红色框矩阵的对角线和(黄色单元格的和)即为真正例(TP)
      在这里插入图片描述
      TP=3+2=5

      TP+FP表示所有被预测为Positive的样本数,显然下图红框中所有数的和就是TP+FP
      在这里插入图片描述
      TP+FP=3+3+1+0+4+2+3+2=18

      TP+FN表示所有真实为Positive的样本数,显然下图蓝色框中所有数的和就是TP+FN
      在这里插入图片描述
      TP+FN=3+4+5+1+3+2+4+0=22

      因此

      Precision=TPTP+FP=518Precision = \frac{TP}{TP+FP} = \frac{5}{18}Precision=TP+FPTP=185

      Recall=TPTP+FN=522Recall = \frac{TP}{TP+FN} = \frac{5}{22}Recall=TP+FNTP=225

      F1=2PRP+R=14F1 = \frac{2PR}{P+R} = \frac{1}{4}F1=P+R2PR=41



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率