yolov3 map、recall、p-r曲线可视化超详细
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曲线可视化超详细相关推荐
- ECharts实现数据可视化超详细基础入门教程
ECharts实现数据可视化超详细基础入门教程 ECharts介绍 ECharts官网:https://echarts.apache.org/zh/index.html ECharts是一款基于Jav ...
- R语言生存曲线的可视化(超详细)
survminer是专门用来进行生存分析可视化的R包,主要函数如下: 生存曲线 ggsurvplot(): arrange_ggsurvplots(): ggsurvevents(): surv_su ...
- VScode 检测到#include 错误,请更新includepath。已为此翻译单元 禁用波形曲线(超详细讲解,绝对不亏)
网络上都可以查找到如何下载vscode,如何配置vscode的教程也不少,但是有一些问题是没有提及的,就比如这个问题就没有提到,如何下载的我就不再说了,我就直接上如何配置. 基本的我就不再说了 第一步 ...
- Python下使用sklearn绘制ROC曲线(超详细)
什么是ROC曲线?可以参见(https://blog.csdn.net/hesongzefairy/article/details/104295431) 现在我们知道ROC曲线上的一组组(FPR,TP ...
- r library car_基础方法 | 用R语言完成量化论文全流程示例!附超详细R脚本
基础方法 ♪ Method R语言的优点 对于有一定数据分析基础的朋友们来说,要入门R语言并不是十分困难的.但是这毕竟是一门专业性很强的技术,我们当然希望投入精力掌握R语言之后能够得到相应的回报. 在 ...
- 超详细——手把手教你用threejs实现一个酷炫的模型发光扫描效果(三)
上一篇文章 voidjay,公众号:web前端可视化超详细--手把手教你用threejs实现一个酷炫的模型发光扫描效果(二) 上一篇文章已完成基本效果的实现,本文则完成整个项目的灵魂:发光效果以及模型 ...
- 【机器学习基础】TP,TN,FP,FN,Precision,Recall,PR曲线,AP,MAP,TPR,FPR,ROC曲线,AUC值等的解释
1.TP,TN,FP,FN: 下面两个图说的就很明白了吧.左侧有点混淆矩阵的感觉 P:标签为正样本. N:标签为负样本. T:预测对了. F:预测错了 TP:正 ...
- R语言可视化包ggplot2绘制线性回归模型曲线实战( Linear Regression Line)
R语言可视化包ggplot2绘制线性回归模型曲线实战( Linear Regression Line) 目录 R语言可视化包ggplot2绘制线性回归模型曲线实战( Linear Regression ...
- ML之R:通过数据预处理利用LiR/XGBoost等(特征重要性/交叉训练曲线可视化/线性和非线性算法对比/三种模型调参/三种模型融合)实现二手汽车产品交易价格回归预测之详细攻略
ML之R:通过数据预处理利用LiR/XGBoost等(特征重要性/交叉训练曲线可视化/线性和非线性算法对比/三种模型调参/三种模型融合)实现二手汽车产品交易价格回归预测之详细攻略 目录 三.模型训练 ...
最新文章
- QIIME 2教程. 23图形界面q2studio(2021.2)
- 【数据结构与算法】之电话号码键盘的字母组合算法
- javamail读取并发送完整的html页面
- 新生代中Eden:S1:S2为什么是8:1:1?
- 云计算学习资料分享:type查看命令
- 燕山大学计算机专业研究生怎么样,求助大家!重庆邮电大学计算机专业的研究生值得一读吗?...
- Node.js:一个路由2次 request
- ActiveXObject文件读写
- 大数据之-Hadoop3.x_MapReduce_Job提交流程---大数据之hadoop3.x工作笔记0103
- NetBios 的结构体详解(网络控制块NCB)
- re.findall的正则参数为什么不能包含元组表达式()或竖线符号,先挖个坑
- 1. 喵喵宠物管理系统需求分析
- 深度学习与计算机视觉教程(18) | 深度强化学习 (梯度策略,Actor-Critic,DDPG,A3C)(CV通关指南·完结)
- Pixracer V1.0编译固件
- 极简时钟,记录时间的利器
- 【IOS】关于ipad和iPhone尺寸的分辨率
- ApacheCN 翻译活动进度公告 2019.5.3
- Error attempting to get column 'state' from result set
- html 注释 实例,超详细的HTML !–…– 注释标签使用实例
- 嵌入式系统中鲁棒性的理解