训练指令:./darknet.exe detector train data/obj.data yolo-obj.cfg darknet53.conv.74 | tee train_yolov3.log
ps:For training with mAP (mean average precisions) calculation for each 4 Epochs (set valid=valid.txt or train.txt in obj.data file) and run: darknet.exe detector train data/obj.data yolo-obj.cfg darknet53.conv.74 -map
测试:
第一步:./darknet detector valid data/obj.data yolo-obj.cfg backup/yolo-obj_last.weights
第二部:python .\reval_voc_py3.py --voc_dir E:\darknet-master\build\darknet\x64\data\VOCdevkit
--year 2007 --image_set test --classes E:\darknet-master\build\darknet\x64\data\obj.names testForTower
1:测试集的ImageSets\Main里面只需要test.txt 这里的test和(命令中--image_set test中的test)
和(comp4_det_test_tower.txt中的test)需要一致
2: 每次都需要删除缓存文件annots.pkl
绘制PR曲线:
import _pickle as cPickle
import matplotlib.pyplot as plt
fr = open('apple_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'])