【问题标题】:Loss and mAP chart in YOLOv4YOLOv4中的损失和mAP图表
【发布时间】:2021-05-10 10:57:41
【问题描述】:

我对“You Only Look Once”对象检测算法(确切地说是 YOLOv4)还是新手。我对 mAP 和损失图有一些疑问。

我尝试按照 AlexeyAB Darknet 的说明,使用 Google Colabs 训练我的自定义对象检测器。训练结束后显示loss和mAP图表如下图。

损失和mAP图表:

我的问题是:

  1. 除此之外还有其他图表吗?
  2. 这是训练或验证的损失吗?
  3. 为什么在迭代 1200 附近突然下降?
  4. 训练的输出只有那个图表和权重文件吗?

【问题讨论】:

    标签: deep-learning computer-vision object-detection yolo darknet


    【解决方案1】:
    1. 是的。但如果你想导出日志并用它制作图表,你可以试试这个命令:

    ./darknet detector train data/obj.data cfg/yolov4.cfg yolov4.weights -map | tee results.log

    1. 蓝色曲线是训练数据集上的训练损失或误差(特别是 YOLOv4 的 Complete Intersection-Over-Union 或 CIoU 损失)。有关 CIoU 损失的更多详细信息,check this paper红线是 50% Intersection-over-Union 阈值 (mAP@0.5) 处的平均精度,用于检查您的模型是否在 从未见过的数据集上很好地泛化验证集。如果你想更了解mAP,可以参考这个easy-to-understand blogpost.

    2. 您使用的是自定义数据集吗?迭代 1200 附近的下降可能是由数据集中的一些问题引起的。要检查,请尝试以下方法:

      (a) 检查您的数据集 - 使用标志 -show_imgs./darknet detector train ... -show_imgs 运行训练并查看 aug_...jpg 图像,您是否看到正确的真实边界框?

      (b) 检查生成的文件bad.listbad_label.list 是否存在。这些文件包含可能有问题的标签文件。

    3. 是的。但是,如果您启用日志文件(检查我的答案 - 否。1),那么,不。

    【讨论】:

      【解决方案2】:
      1. 图表中的损失用于验证
      2. 迭代 1200 附近的下降很可能是因为与其他小批量数据相比,该特定小批量数据的平均精度较低。
      3. 您可能必须在训练停止后显式手动保存权重。

      第二个和第三个问题,请在When should I stop training | AlexeyAB / darknet查看第2.2点

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-23
        • 2021-06-28
        • 2021-09-16
        • 2021-08-27
        • 2021-12-04
        • 1970-01-01
        相关资源
        最近更新 更多