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 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型