首先解释两个名词:
- 验证集:标记好的数据,在训练过程中不参与训练,验证算法通过对比预测目标和标记目标判断预测的正确率,用于评价模型对未知样本的预测能力。
- Acc:Accuracy,正确率。计算过程:统计预测正确的预测错误的目标数量,Acc=正确数量/(正确数量+错误数量)。错误包括误检和漏检,误检包括类别误检和位置误检。
YOLO在训练过程中不自动计算验证集Acc,训练结束后可通过命令手动启动计算验证集Acc。
1. 首先将train_data/test.txt复制到data路径下,重命名为voc.2007.test。这个文件中的内容是验证集的图片列表。(YOLO的验证算法代码固定访问文件voc.2007.test,不支持命令行指定)
2. 运行以下命令
./darknet detector recall cfg/raycom.data cfg/yolo-raycom.2.0.cfg backup/yolo-raycom_final.weights运行结果:158 1833 2500 RPs/Img: 80.03 IOU: 66.01% Recall:73.32% 159 1843 2510 RPs/Img: 79.92 IOU: 66.08% Recall:73.43% 160 1853 2525 RPs/Img: 79.91 IOU: 66.07% Recall:73.39% 161 1862 2535 RPs/Img: 79.83 IOU: 66.13% Recall:73.45% 162 1871 2546 RPs/Img: 79.82 IOU: 66.12% Recall:73.49% 163 1885 2566 RPs/Img: 79.76 IOU: 66.10% Recall:73.46% 164 1900 2584 RPs/Img: 79.70 IOU: 66.17% Recall:73.53%第1列是累计计算的样本(图片)数量,第2列是累计的正确目标数量,第3列是累计正确+错误目标数量,最后一列是Acc。因此最后一行的Acc就是整体验证集的Acc。