当前位置: 首页 > news >正文

GroundingDINO微调训练_训练日志解释

文章目录

    • 1. 训练日志
      • 1. Epoch 和 Iteration
      • 2. Learning Rate(学习率)
      • 3. ETA(预计剩余时间)
      • 4. Time 和 Data Time
      • 5. Memory
      • 6. Gradient Norm(梯度范数)
      • 7. Loss(损失)
      • 8. Individual Losses
      • 9. Losses for Different Detectors (d0, d1, d2, d3, d4)
      • 10. Encoder Losses (enc_loss_cls, enc_loss_bbox, enc_loss_iou)
      • 11. DN (Dynamic Network) Losses
      • 12. DN Losses for Different Detectors (d0.dn_loss_cls, d1.dn_loss_cls, etc.)
      • 总结
    • 2. 模型在验证集上的评估结果
      • 1. 评估流程
      • 2. COCO评估标准
        • 主要指标
      • 3. 关键评估结果分析
      • 总结

1. 训练日志

12/09 03:54:02 - mmengine - INFO - Epoch(train)  [3][190/794]  base_lr: 1.0000e-04 lr: 1.0000e-04  eta: 15:15:19  time: 1.8053  data_time: 0.0080  memory: 8415  grad_norm: 49.9182  loss: 4.0043  loss_cls: 0.0733  loss_bbox: 0.1035  loss_iou: 0.1393  d0.loss_cls: 0.0847  d0.loss_bbox: 0.1103  d0.loss_iou: 0.1460  d1.loss_cls: 0.0822  d1.loss_bbox: 0.1027  d1.loss_iou: 0.1421  d2.loss_cls: 0.0785  d2.loss_bbox: 0.1031  d2.loss_iou: 0.1392  d3.loss_cls: 0.0774  d3.loss_bbox: 0.1007  d3.loss_iou: 0.1376  d4.loss_cls: 0.0736  d4.loss_bbox: 0.1034  d4.loss_iou: 0.1392  enc_loss_cls: 0.1123  enc_loss_bbox: 0.1300  enc_loss_iou: 0.1698  dn_loss_cls: 0.0012  dn_loss_bbox: 0.1218  dn_loss_iou: 0.1251  d0.dn_loss_cls: 0.0132  d0.dn_loss_bbox: 0.1820  d0.dn_loss_iou: 0.1937  d1.dn_loss_cls: 0.0025  d1.dn_loss_bbox: 0.1306  d1.dn_loss_iou: 0.1352  d2.dn_loss_cls: 0.0016  d2.dn_loss_bbox: 0.1240  d2.dn_loss_iou: 0.1278  d3.dn_loss_cls: 0.0015  d3.dn_loss_bbox: 0.1220  d3.dn_loss_iou: 0.1252  d4.dn_loss_cls: 0.0012  d4.dn_loss_bbox: 0.1217  d4.dn_loss_iou: 0.1250
12/09 03:54:11 - mmengine - INFO - Epoch(train)  [3][195/794]  base_lr: 1.0000e-04 lr: 1.0000e-04  eta: 15:15:18  time: 1.8176  data_time: 0.0080  memory: 9694  grad_norm: 50.3365  loss: 4.0305  loss_cls: 0.0829  loss_bbox: 0.1019  loss_iou: 0.1496  d0.loss_cls: 0.0977  d0.loss_bbox: 0.1050  d0.loss_iou: 0.1537  d1.loss_cls: 0.0886  d1.loss_bbox: 0.1026  d1.loss_iou: 0.1524  d2.loss_cls: 0.0862  d2.loss_bbox: 0.1014  d2.loss_iou: 0.1492  d3.loss_cls: 0.0871  d3.loss_bbox: 0.0994  d3.loss_iou: 0.1476  d4.loss_cls: 0.0839  d4.loss_bbox: 0.1020  d4.loss_iou: 0.1493  enc_loss_cls: 0.1203  enc_loss_bbox: 0.1227  enc_loss_iou: 0.1762  dn_loss_cls: 0.0012  dn_loss_bbox: 0.1099  dn_loss_iou: 0.1237  d0.dn_loss_cls: 0.0130  d0.dn_loss_bbox: 0.1664  d0.dn_loss_iou: 0.1918  d1.dn_loss_cls: 0.0026  d1.dn_loss_bbox: 0.1182  d1.dn_loss_iou: 0.1338  d2.dn_loss_cls: 0.0015  d2.dn_loss_bbox: 0.1119  d2.dn_loss_iou: 0.1264  d3.dn_loss_cls: 0.0015  d3.dn_loss_bbox: 0.1103  d3.dn_loss_iou: 0.1238  d4.dn_loss_cls: 0.0012  d4.dn_loss_bbox: 0.1098  d4.dn_loss_iou: 0.1236

在训练日志中,包含了很多与模型训练相关的参数。这些参数帮助我们理解训练过程中模型的状态、损失以及优化情况。下面是对日志中每一部分的详细解释:

1. Epoch 和 Iteration

Epoch(train)  [3][190/794]
  • Epoch: 当前是第 3 轮训练。
  • 190/794: 这意味着当前训练的第 190 个 batch,在总共有 794 个 batch 的训练集里。

2. Learning Rate(学习率)

base_lr: 1.0000e-04 lr: 1.0000e-04
  • base_lr: 初始学习率。
  • lr: 当前学习率。在这个例子中,base_lr 和当前学习率是相同的,表示没有动态变化或调整。

3. ETA(预计剩余时间)

eta: 15:15:19
  • eta: 预计剩余训练时间,格式为时:分:秒。根据当前的训练进度,预计整个训练还需要 15 小时 15 分 19 秒完成。

4. Time 和 Data Time

time: 1.8053  data_time: 0.0080
  • time: 当前迭代的总时间,1.8053 秒,即每个 batch 的训练时间。
  • data_time: 数据加载时间,0.0080 秒,表示加载每个 batch 数据的时间。

5. Memory

memory: 8415
  • memory: 当前训练所使用的 GPU 显存量(单位为 MB)。在这个例子中,使用了 8415 MB 的 GPU 显存。

6. Gradient Norm(梯度范数)

grad_norm: 49.9182
  • grad_norm: 当前梯度的范数(L2 范数),表示梯度的大小。梯度范数过大或过小可能表明梯度爆炸或消失,影响模型的训练效果。

7. Loss(损失)

loss: 4.0043
  • loss: 当前 batch 的总损失值。它是所有损失项(分类损失、回归损失等)的加和。

8. Individual Losses

loss_cls: 0.0733  loss_bbox: 0.1035  loss_iou: 0.1393

这些是不同类型的损失:

  • loss_cls: 分类损失,衡量模型预测的类别与真实标签之间的差距。
  • loss_bbox: 边框损失,衡量模型预测的边框与真实边框之间的差距。
  • loss_iou: IoU(交并比)损失,衡量预测框与真实框之间的重叠程度。

9. Losses for Different Detectors (d0, d1, d2, d3, d4)

d0.loss_cls: 0.0847  d0.loss_bbox: 0.1103  d0.loss_iou: 0.1460

这些是针对不同级别的检测器(d0 到 d4)计算的损失:

  • d0, d1, d2, d3, d4: 表示不同检测器(可能代表不同分辨率或不同尺度的预测头)。
  • 对每个检测器,损失包括分类损失、边框损失和 IoU 损失。

10. Encoder Losses (enc_loss_cls, enc_loss_bbox, enc_loss_iou)

enc_loss_cls: 0.1123  enc_loss_bbox: 0.1300  enc_loss_iou: 0.1698
  • enc_loss_cls: 编码器中的分类损失。
  • enc_loss_bbox: 编码器中的边框损失。
  • enc_loss_iou: 编码器中的 IoU 损失。

11. DN (Dynamic Network) Losses

dn_loss_cls: 0.0012  dn_loss_bbox: 0.1218  dn_loss_iou: 0.1251
  • dn_loss_cls, dn_loss_bbox, dn_loss_iou: 动态网络的损失,可能涉及模型处理的动态对象或自适应模块的损失。

12. DN Losses for Different Detectors (d0.dn_loss_cls, d1.dn_loss_cls, etc.)

d0.dn_loss_cls: 0.0132  d0.dn_loss_bbox: 0.1820  d0.dn_loss_iou: 0.1937
  • d0.dn_loss_cls, d0.dn_loss_bbox, d0.dn_loss_iou 等表示对于不同检测器(d0 到 d4)中的动态网络损失。它们在不同检测器中针对分类、边框和 IoU 进行的损失计算。

总结

  • 这些日志输出帮助我们追踪训练过程中的模型表现,包括学习率、损失、梯度、内存使用等。
  • 训练损失由多个部分组成,每个部分表示不同任务的损失,例如分类、边框回归和 IoU。
  • 如果损失变化较大,可能需要调整模型结构、学习率、数据预处理等因素。

如果你需要进一步优化训练或分析训练过程,可以使用这些信息来判断哪些方面的损失较大,从而调整模型或训练参数。

2. 模型在验证集上的评估结果

12/09 07:33:42 - mmengine - INFO - Epoch(val) [11][345/352]    eta: 0:00:01  time: 0.1365  data_time: 0.0019  memory: 3155
12/09 07:33:42 - mmengine - INFO - Epoch(val) [11][350/352]    eta: 0:00:00  time: 0.1361  data_time: 0.0019  memory: 3155
12/09 07:33:45 - mmengine - INFO - Evaluating bbox...
Loading and preparing results...
DONE (t=0.46s)
creating index...
index created!
Running per image evaluation...
Evaluate annotation type *bbox*
DONE (t=2.59s).
Accumulating evaluation results...
DONE (t=1.88s).Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.533Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=1000 ] = 0.652Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=1000 ] = 0.562Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.368Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.497Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.597Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.859Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=300 ] = 0.860Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=1000 ] = 0.860Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.606Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.833Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.883
12/09 07:33:50 - mmengine - INFO - bbox_mAP_copypaste: 0.533 0.652 0.562 0.368 0.497 0.597
12/09 07:33:50 - mmengine - INFO - Epoch(val) [11][352/352]    coco/bbox_mAP: 0.5330  coco/bbox_mAP_50: 0.6520  coco/bbox_mAP_75: 0.5620  coco/bbox_mAP_s: 0.3680  coco/bbox_mAP_m: 0.4970  coco/bbox_mAP_l: 0.5970  data_time: 0.0057  time: 0.1436

这些内容显示了模型在验证集上的评估结果,基于 COCO 数据集的评估标准,以下是详细解析:


1. 评估流程

  1. Evaluating bbox

    • 表明模型正在验证集上评估目标检测的边界框(bounding box, bbox)性能。
  2. Loading and preparing results…

    • 模型生成的预测结果被加载并准备好进行评估。
  3. Running per image evaluation…

    • 针对验证集中每一张图片,计算各项指标,如平均精度(AP)和平均召回率(AR)。
  4. Evaluate annotation type bbox

    • 说明评估的是边界框任务。
  5. Accumulating evaluation results…

    • 将单张图片的评估结果汇总,以计算整体性能指标。

2. COCO评估标准

主要指标
  • AP (Average Precision)
    AP 是目标检测中的核心指标,表示模型在不同的阈值(IoU)下的平均精度:

    • AP @[ IoU=0.50:0.95 | area=all | maxDets=100 ]
      综合了多个 IoU 阈值(从 0.50 到 0.95,步长为 0.05),计算所有目标的平均精度。这是 COCO 的主要指标,当前值为 0.533
    • AP @[ IoU=0.50 | area=all | maxDets=1000 ]
      在 IoU=0.50 时计算 AP,当前值为 0.652,表示较宽松条件下的精度。
    • AP @[ IoU=0.75 | area=all | maxDets=1000 ]
      在 IoU=0.75 时计算 AP,当前值为 0.562,表示较严格条件下的精度。
  • AP by Area
    按物体大小划分 AP:

    • small(小目标,area < 32^2):当前值为 0.368。说明模型对小目标的检测效果较差。
    • medium(中等目标,32^2 ≤ area < 96^2):当前值为 0.497
    • large(大目标,area ≥ 96^2):当前值为 0.597。说明模型对大目标检测效果更好。
  • AR (Average Recall)
    AR 是衡量模型召回能力的指标,表示在不同的最大检测数(maxDets)下的平均召回率:

    • AR @[ IoU=0.50:0.95 | area=all | maxDets=100 ]: 当前值为 0.859
    • AR @[ IoU=0.50:0.95 | area=all | maxDets=300 ]maxDets=1000: 当前值为 0.860
    • 按物体大小划分的 AR:
      • small: 当前值为 0.606
      • medium: 当前值为 0.833
      • large: 当前值为 0.883

3. 关键评估结果分析

  • 模型整体表现

    • coco/bbox_mAP: 0.533 是综合指标,表示在多个 IoU 阈值下的平均性能。
    • 结合 AP 和 AR 指标,可以看到模型对大目标(large)的检测效果最佳(AP=0.597AR=0.883),对小目标(small)的检测效果较差(AP=0.368AR=0.606)。
  • 时间和资源消耗

    • 验证过程耗时较短(每次迭代的平均时间约为 0.1436s)。
    • 占用显存较少,内存仅 3155 MB
  • IoU 阈值的影响

    • 当 IoU 阈值提高到 0.75 时,AP=0.562,相较 IoU=0.50 的 0.652 略有下降,说明模型在更严格的定位条件下仍具有较强表现。

总结

  • 模型优点

    • 整体性能良好,综合 mAP=0.533,在 COCO 基准中属于中上游水平。
    • 对大目标的检测效果突出(AP=0.597AR=0.883)。
    • 资源消耗较低,验证时间快。
  • 模型不足

    • 小目标检测性能仍有待提高,AP_s=0.368 较低,可能需要优化特征提取器或多尺度检测头。
  • 改进方向

    • 提升小目标检测:考虑增加小目标增强(如分辨率调整、多尺度数据增强)。
    • 加强定位能力:通过优化边框回归损失(如 IoU 损失的调整)。
http://www.lryc.cn/news/501223.html

相关文章:

  • 【0362】Postgres内核 XLogReaderState readBuf 有完整 XLOG page header 信息 ? ( 7 )
  • H5接入Steam 获取用户数据案例 使用 OpenID 登录绑定公司APP账户 steam公开用户信息获取 steam webapi文档使用
  • pytorch多GPU训练教程
  • 力扣--LCR 178.训练计划VI
  • Linux 网络接口配置
  • 【从零开始入门unity游戏开发之——C#篇01】理论开篇
  • ABAP开发-批量导入BAPI和BDC_1
  • RabbitMQ七种工作模式之 RPC通信模式, 发布确认模式
  • 并非传统意义上的整体二分
  • PostgreSQL的一主一从集群搭建部署 (同步)
  • ios逆向某新闻 md5+aes
  • grpc的负载均衡
  • 提升搜索体验!—— 推出 Elastic Rerank 模型(技术预览版)
  • 【51单片机】程序实验1112.外部中断-定时器中断
  • webrtc-java:引领Java进入实时通信新时代
  • TongWeb7-东方通快速使用手册
  • JVM内存区块
  • C语言单元总结
  • 通过PS和Unity制作2D动画之一:创建形象
  • Notable是一款优秀开源免费的Markdown编辑器
  • 基于MFC绘制门电路
  • C—指针初阶(2)
  • Linux 基础环境的开发工具以及使用(下)
  • constexpr、const和 #define 的比较
  • 期末复习-Hadoop综合复习
  • 禁用SAP Hana错误密码锁定用户功能
  • Ubuntu 22.04加Windows AD域
  • qt实现窗口的动态切换
  • 第十七届山东省职业院校技能大赛 中职组“网络安全”赛项资源任务书样题②
  • 【Vulkan入门】09-CreateFrameBuffer