文章目录

1

 darknet detector valid  data/obj.data yolov4.cfg backup/yolov4_last.weights

运行上述命令后,会在文件夹下生成<comp4_det_test_xxx.txt>文件

2

python reval_voc_py3.py --voc_dir D:\github\darknet\build\darknet\x64\scripts\VOCdevkit --year 2020 --image_set test --classes data/obj.names donkey

这里的命令行参数解释如下:

 """
    parser = argparse.ArgumentParser(description='Re-evaluate results')  
    parser.add_argument('output_dir', nargs=1, help='results directory', 
                        type=str)  # 结果保存路径
    parser.add_argument('--voc_dir', dest='voc_dir', default='scripts/VOCdevkit', type=str)  #voc数据集路径
    parser.add_argument('--year', dest='year', default='2020', type=str)  #年份
    parser.add_argument('--image_set', dest='image_set', default='test', type=str)  # txt文件名称

    parser.add_argument('--classes', dest='class_file', default='data/obj.names', type=str)  # 类别路径

如果报下图中的错误:!!! cachefile = D:\github\darknet\build\darknet\x64\scripts\VOCdevkit\annotations_cache\annots.pkl
在这里插入图片描述
找到所在的路径,删除annotations_cache文件夹即可

由于我时隔一个月又运行的,之前改了voc_ecal_py3.py文件,自己忘记了,导致一直出现一个错误:
在这里插入图片描述
修改了半个小时,才发现原因,以后改了文件后要及时改回去,谨此铭记!!

3

 python drawPR.py  
import _pickle as cPickle
import matplotlib.pyplot as plt

fr = open('honkey_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.savefig('pr.eps',dpi=600,format='eps')
plt.show()

print('AP:', inf['ap'])

在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐