经过训练的YOLO,yolo_best.weights有哪些迭代?

时间:2020-04-22 19:11:08

标签: yolo

我通过Darknet框架培训了YOLOv3。每进行1000次迭代,它就会保存权重,但最后,Darknet会评估所有权重,并使用最佳权重。它们保存在单独的文件“ yolov3_best.weights”中。

我想找出该文件使用了哪个迭代。到目前为止,我尝试过:

  • 在终端的识别测试中使用权重并检查输出
  • 通过编辑器打开best.weights文件并搜索

但我找不到它。

有人可以解决吗?

非常感谢。

2 个答案:

答案 0 :(得分:0)

因此,目前尚不清楚如何找出用于best_weights文件的迭代步骤/纪元,因此我做了以下事情:

我编写了一个脚本,该脚本使用“ yolov3_best.weights”文件检测测试集中的所有类,并与我的标签数据进行比较,并计算出指标召回率,精度和f1。 我还对所有其他权重执行了此操作,暗网默认情况下会保存(每1000个迭代步骤),然后比较的结果。

最后,我发现“ yolov3_best.weights”并非最适合我的指标,因此我选择了具有最高召回值的指标(但其他人可能会根据必须针对此指标进行优化的指标进行选择)必要)。

希望这对其他人有帮助。

答案 1 :(得分:0)

AlexeyAB wiki 有两种方法可以做到这一点

  1. 使用 backup/ map 标志测试 recall 中的各种权重。

    示例: ./detector map data/obj.data yolo-obj.cfg backup/yolo-obj_7000.weights

    对所有权重执行此操作,并选择具有最高 mAP(平均平均精度)或 IoU(与并集相交)

  2. 使用 -map 标志训练

    示例:./detector detector train data/obj.data yolo-obj.cfg yolov4.conv.137 -map

    mAP 将使用 valid=valid.txt

    中指定的 data/obj.data 文件为每 4 个 Epoch 计算一次