detectron2显示自己的损失
时间: 2023-08-29 19:07:31 浏览: 40
Detectron2是Facebook AI Research开发的一个计算机视觉框架,可以用于目标检测、实例分割、关键点检测等任务。在Detectron2中,可以通过修改配置文件来设置训练中需要记录的损失。在默认情况下,Detectron2会记录每个batch的总损失和各个损失项的权重,如下所示:
```
iter: 10, loss: 1.345 (tot: 1.345), lr: 0.01000
cls: 0.234 (weighted: 0.234)
box_reg: 0.456 (weighted: 0.456)
mask: 0.654 (weighted: 0.654)
```
其中,`tot`表示总损失,`cls`、`box_reg`、`mask`分别表示分类损失、边界框回归损失、掩码损失。`weighted`表示加权后的损失,加权的方式可以在配置文件中进行设置。
如果需要记录更多的损失项,可以在配置文件中添加相应的设置。例如,如果需要记录每个类别的分类损失,可以添加以下配置:
```
MODEL.ROI_HEADS.NUM_CLASSES = 80
MODEL.ROI_HEADS.NAME = "StandardROIHeads"
MODEL.ROI_HEADS.SCORE_THRESH_TEST = 0.5
MODEL.ROI_BOX_HEAD.NUM_CLS_AGNOSTIC_BBOX_REG = True
MODEL.ROI_BOX_HEAD.BBOX_REG_WEIGHTS = (10, 10, 5, 5)
SOLVER.IMS_PER_BATCH = 2
SOLVER.BASE_LR = 0.02
SOLVER.MAX_ITER = 1000
SOLVER.STEPS = (800,)
SOLVER.GAMMA = 0.1
OUTPUT_DIR = "output"
```
然后,在训练过程中,就可以看到每个类别的分类损失:
```
iter: 10, loss: 1.345 (tot: 1.345), lr: 0.01000
cls: 0.234 (weighted: 0.234)
box_reg: 0.456 (weighted: 0.456)
mask: 0.654 (weighted: 0.654)
cls_specific: {
"person": 0.123 (weighted: 0.123),
"car": 0.234 (weighted: 0.234),
...
}
```