大家好,继续备忘,这次是记录yolov3跑完测试以后如何计算map的简单方法。
1.生成检测文件
上一篇博客写的是批量测试生成图像结果,要想计算map,需要首先生成检测文件,在darknet文件下运行:
./darknet detector valid cfg/voc.data cfg/yolov3-voc.cfg backup/yolov3-voc_final.weights -out ""
其中,类名要写自己的类名,会生成一个txt文件在result里。
2.然后在python2的环境下运行v_RD-eval.py,注意修改classname,annopath和imagesetfile的地址。如果不知道自己用的是python几,就在shell框里输入python+回车就可以看到python的版本,如果想要修改python的版本,就source python版本,例如:
source ~/conda2.如果是在conda2这个文件地址下运行终端,就是source conda2.
3.运行
python v_RD_eval.py
注意这个只能测试单类的ap,classname每次只需写一类,算出来所有类的ap求一个平均即是map。
PS:在生成检测文件的时候,终端会显示运行花了多少时间,可以用检测图像数/这个时间来计算fps!
好了我们下期见!