1 、运行darknet官方代码中的detector valid指令,生成对测试集的检测结果。
.\darknet detector valid <voc.data文件路径> <cfg文件路径> <weights文件路径> -out “”

其中voc.data和cfg文件就是你当时训练用的配置文件,weights文件就是你训练出来的结果,其中需要修改的是voc.data文件,其中应该是有五行的,其中第三行是valid就是需要验证测试集的路径。
2、执行完之后应该会在程序的当前目录生成一个results文件夹,里面存有检测结果,文件名为comp4_det_test_<你检测的类名>.txt,画风如下所示。

txt中数据格式为: 文件名 置信度 x y w h。
3、下载检测用脚本文件 reval_voc_py.py和voc_eval_py.py
https://download.csdn.net/download/qq_33350808/10731748
这个老哥提供的,需要积分哦,如果没积分可以联系我,我给你们发。1397728762@qq.com。记得点赞,感谢。

4、 使用reval_voc_py.py计算出mAP值并且生成pkl文件,命令行如下(这是我自己的命令行你们根据自己的修改即可):
python reval_voc_py3.py --voc_dir /extdisk/yolov3new/darknet/scripts/VOCdevkit --year 2019 --image_set test --classes /extdisk/yolov3new/darknet/data/voc.names /extdisk/yolov3new/darknet/visualization/mapout
5、用matplotlib绘制PR曲线
在得到pkl文件目录里直接创建一个python文件,比如PR_draw.py,内容如下,记得把第三行里的参数修改一下。

import _pickle as cPickle
import matplotlib.pyplot as plt
fr = open(‘lebro_pr.pkl’,‘rb’)#这里open中第一个参数需要修改成自己生产的pkl文件
inf = cPickle.load(fr)
fr.close()

x=inf[‘rec’]
y=inf[‘prec’]
plt.figure()
plt.xlabel(‘recall’)
plt.ylabel(‘precision’)
plt.title(‘PR cruve’)
plt.plot(x,y)
plt.show()

print(‘AP:’,inf[‘ap’])

###然后运行python PR_draw.py,就会生成想要的东东哦!

填坑!
1、如果在进行步骤4出现“R = [obj for obj in recs[imagename] if obj[‘name’] == classname],KeyError: ‘4900’"这种错误是因为/…/VOCdevkit/annotations_cache里面的文件没有删除,delete即可。
2、要在Main文件下面新建一个test.txt文件将val文件的内容拷贝进去。
部分参考https://blog.csdn.net/qq_33350808/article/details/83178002,感谢。

yolov3 map、recall、p-r曲线可视化超详细相关推荐

  1. ECharts实现数据可视化超详细基础入门教程

    ECharts实现数据可视化超详细基础入门教程 ECharts介绍 ECharts官网:https://echarts.apache.org/zh/index.html ECharts是一款基于Jav ...

  2. R语言生存曲线的可视化(超详细)

    survminer是专门用来进行生存分析可视化的R包,主要函数如下: 生存曲线 ggsurvplot(): arrange_ggsurvplots(): ggsurvevents(): surv_su ...

  3. VScode 检测到#include 错误,请更新includepath。已为此翻译单元 禁用波形曲线(超详细讲解,绝对不亏)

    网络上都可以查找到如何下载vscode,如何配置vscode的教程也不少,但是有一些问题是没有提及的,就比如这个问题就没有提到,如何下载的我就不再说了,我就直接上如何配置. 基本的我就不再说了 第一步 ...

  4. Python下使用sklearn绘制ROC曲线(超详细)

    什么是ROC曲线?可以参见(https://blog.csdn.net/hesongzefairy/article/details/104295431) 现在我们知道ROC曲线上的一组组(FPR,TP ...

  5. r library car_基础方法 | 用R语言完成量化论文全流程示例!附超详细R脚本

    基础方法 ♪ Method R语言的优点 对于有一定数据分析基础的朋友们来说,要入门R语言并不是十分困难的.但是这毕竟是一门专业性很强的技术,我们当然希望投入精力掌握R语言之后能够得到相应的回报. 在 ...

  6. 超详细——手把手教你用threejs实现一个酷炫的模型发光扫描效果(三)

    上一篇文章 voidjay,公众号:web前端可视化超详细--手把手教你用threejs实现一个酷炫的模型发光扫描效果(二) 上一篇文章已完成基本效果的实现,本文则完成整个项目的灵魂:发光效果以及模型 ...

  7. 【机器学习基础】TP,TN,FP,FN,Precision,Recall,PR曲线,AP,MAP,TPR,FPR,ROC曲线,AUC值等的解释

    1.TP,TN,FP,FN: 下面两个图说的就很明白了吧.左侧有点混淆矩阵的感觉     P:标签为正样本.     N:标签为负样本.     T:预测对了.     F:预测错了     TP:正 ...

  8. R语言可视化包ggplot2绘制线性回归模型曲线实战( Linear Regression Line)

    R语言可视化包ggplot2绘制线性回归模型曲线实战( Linear Regression Line) 目录 R语言可视化包ggplot2绘制线性回归模型曲线实战( Linear Regression ...

  9. ML之R:通过数据预处理利用LiR/XGBoost等(特征重要性/交叉训练曲线可视化/线性和非线性算法对比/三种模型调参/三种模型融合)实现二手汽车产品交易价格回归预测之详细攻略

    ML之R:通过数据预处理利用LiR/XGBoost等(特征重要性/交叉训练曲线可视化/线性和非线性算法对比/三种模型调参/三种模型融合)实现二手汽车产品交易价格回归预测之详细攻略 目录 三.模型训练 ...

最新文章

  1. QIIME 2教程. 23图形界面q2studio(2021.2)
  2. 【数据结构与算法】之电话号码键盘的字母组合算法
  3. javamail读取并发送完整的html页面
  4. 新生代中Eden:S1:S2为什么是8:1:1?
  5. 云计算学习资料分享:type查看命令
  6. 燕山大学计算机专业研究生怎么样,求助大家!重庆邮电大学计算机专业的研究生值得一读吗?...
  7. Node.js:一个路由2次 request
  8. ActiveXObject文件读写
  9. 大数据之-Hadoop3.x_MapReduce_Job提交流程---大数据之hadoop3.x工作笔记0103
  10. NetBios 的结构体详解(网络控制块NCB)
  11. re.findall的正则参数为什么不能包含元组表达式()或竖线符号,先挖个坑
  12. 1. 喵喵宠物管理系统需求分析
  13. 深度学习与计算机视觉教程(18) | 深度强化学习 (梯度策略,Actor-Critic,DDPG,A3C)(CV通关指南·完结)
  14. Pixracer V1.0编译固件
  15. 极简时钟,记录时间的利器
  16. 【IOS】关于ipad和iPhone尺寸的分辨率
  17. ApacheCN 翻译活动进度公告 2019.5.3
  18. Error attempting to get column 'state' from result set
  19. html 注释 实例,超详细的HTML !–…– 注释标签使用实例
  20. 嵌入式系统中鲁棒性的理解

热门文章

  1. 空调控制系统节点服务器,汽车空调远程控制系统、方法及服务器
  2. Python 爬虫相关库
  3. 四川汶川县发生7.6级地震 北京有震感
  4. TIM登陆时提示00001(TIM00001)
  5. 2022年P气瓶充装考试内容及P气瓶充装模拟试题
  6. 清除 DELL Optiplex 系列 BIOS 密码
  7. 跨域—同源策略(经典前端面试题)
  8. ZEGO Meetup 第二期 | 视频直播+的技术实践之道
  9. python画彩虹和小熊
  10. 电子科技大学计算机专业分班,我校大类招生专业分班说明,原则是……