什么是 total_loss、loss_cls 等等

What is total_loss,loss_cls etc

我想通过 Pytorch 和 Detectron2 使用 faster_rcnn 或 mask_rcnn 训练自定义数据集。一切正常,但我想知道我想知道我得到的结果是什么。

[11/29 20:16:31 d2.utils.events]:  eta: 0:24:04  iter: 19  total_loss: 9.6  loss_cls: 1.5  loss_box_reg: 0.001034  loss_mask: 0.6936  loss_rpn_cls: 6.773  loss_rpn_loc: 0.5983  time: 1.4664  data_time: 0.0702  lr: 4.9953e-06  max_mem: 2447M

我得到了这个结果,我想知道这一切意味着什么

这些是在训练循环的每次迭代中打印出来的指标。最重要的是损失值,但下面是对它们的基本描述(我认为 etaiter 是不言自明的)。

total_loss:这是在迭代过程中计算的以下个别损失的加权和。默认情况下,权重都是一个。

  1. loss_cls:ROI头部的分类损失。测量框 class 化的损失,即模型在用正确的 class.

    标记预测框方面有多好
  2. loss_box_reg:ROI 头部的定位损失。测量框定位的损失(预测位置与真实位置)。

  3. loss_rpn_cls:Region Proposal Network中的分类损失。测量“客观性”损失,即 RPN 在将锚框标记为前景或背景方面有多好。

  4. loss_rpn_loc:Region Proposal Network 中的定位损失。测量 RPN 中预测区域定位的损失。

  5. loss_mask:面具头中的面具损失。测量预测的二进制掩码的“正确”程度。

    有关损失 (1) 和 (2) 的更多详细信息,请查看 Fast R-CNN paper and the code

    有关损失 (3) 和 (4) 的更多详细信息,请查看 Faster R-CNN paper and the code

    有关损失 (5) 的更多详细信息,请查看 Mask R-CNN paper and the code

time:迭代所用的时间。

data_time:数据加载器在该次迭代中花费的时间。

lr:那次迭代的学习率。

max_mem:张量占用的最大GPU内存,单位为字节。