我通过Darknet框架培训了YOLOv3。每进行1000次迭代,它就会保存权重,但最后,Darknet会评估所有权重,并使用最佳权重。它们保存在单独的文件“ yolov3_best.weights”中。
我想找出该文件使用了哪个迭代。到目前为止,我尝试过:
但我找不到它。
有人可以解决吗?
非常感谢。
答案 0 :(得分:0)
因此,目前尚不清楚如何找出用于best_weights文件的迭代步骤/纪元,因此我做了以下事情:
我编写了一个脚本,该脚本使用“ yolov3_best.weights”文件检测测试集中的所有类,并与我的标签数据进行比较,并计算出指标召回率,精度和f1。 我还对所有其他权重执行了此操作,暗网默认情况下会保存(每1000个迭代步骤),然后比较的结果。
最后,我发现“ yolov3_best.weights”并非最适合我的指标,因此我选择了具有最高召回值的指标(但其他人可能会根据必须针对此指标进行优化的指标进行选择)必要)。
希望这对其他人有帮助。
答案 1 :(得分:0)
从 AlexeyAB wiki 有两种方法可以做到这一点
使用 backup/
map
标志测试 recall
中的各种权重。
示例:
./detector map data/obj.data yolo-obj.cfg backup/yolo-obj_7000.weights
对所有权重执行此操作,并选择具有最高 mAP(平均平均精度)或 IoU(与并集相交)
使用 -map
标志训练
示例:./detector detector train data/obj.data yolo-obj.cfg yolov4.conv.137 -map
mAP
将使用 valid=valid.txt
data/obj.data
文件为每 4 个 Epoch 计算一次