首页 Paddle框架 帖子详情
Paddledetection 在评估阶段得到PR曲线时如何读取Recall值
收藏
快速回复
Paddle框架 问答模型训练炼丹技巧 133 4
Paddledetection 在评估阶段得到PR曲线时如何读取Recall值
收藏
快速回复
Paddle框架 问答模型训练炼丹技巧 133 4

如图,precison值已经知晓了,recall能否直接给出还是需要手动计算?

0
收藏
回复
全部评论(4)
三岁
#2 回复于2021-10-12

可以使用可视化模型进行查看,里面基本上都有了

0
回复
ChipmunkFee
#3 回复于2021-10-12
三岁 #2
可以使用可视化模型进行查看,里面基本上都有了

VisualDL吗?我没太玩儿明白那个,保存的scalar的log文件里只显示了map和loss的数据,PR曲线没有数据,是需要额外设置什么内容吗?我得到PR曲线也是在评估阶段用--classwise得到了各类自动输出的结果,并没有显示precision和recall的值。

0
回复
兔太难、我好菜
#4 回复于12天前

楼主解决了吗,我看好像是在def _get_tp_fp_accum(self, score_pos_list):    # 计算正负样本的结果
        """
        Calculate accumulating true/false positive results from
        [score, pos] records
        """
        sorted_list = sorted(score_pos_list, key=lambda s: s[0], reverse=True)
        accum_tp = 0
        accum_fp = 0
        accum_tp_list = []
        accum_fp_list = []
        for (score, pos) in sorted_list:
            accum_tp += int(pos)
            accum_tp_list.append(accum_tp)
            accum_fp += 1 - int(pos)
            accum_fp_list.append(accum_fp)
        return accum_tp_list, accum_fp_list

这个函数更改,索引最大值,应该即为当IOU = 0.5 时的RECALL值

0
回复
兔太难、我好菜
#5 回复于12天前
楼主解决了吗,我看好像是在def _get_tp_fp_accum(self, score_pos_list):    # 计算正负样本的结果         """         Calculate accumulating true/false positive results from         [score, pos] records         """         sorted_list = sorted(score_pos_list, key=lambda s: s[0], reverse=True)         accum_tp = 0         accum_fp = 0         accum_tp_list = []         accum_fp_list = []         for (score, pos) in sorted_list:             accum_tp += int(pos)             accum_tp_list.append(accum_tp)             accum_fp += 1 - int(pos)             accum_fp_list.append(accum_fp)         return accum_tp_list, accum_fp_list 这个函数更改,索引最大值,应该即为当IOU = 0.5 时的RECALL值
展开

这个值是tp 和 fp , 应该在 precision = []  ,recall = [] , 中索引最大值

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户