mmdetection 训练模型怎么显示精度和召回率
时间: 2024-09-10 19:08:36 浏览: 73
mmdetection 是一个基于 PyTorch 的开源目标检测框架。在使用 mmdetection 训练模型时,通常在验证阶段会计算并显示精度(Precision)、召回率(Recall)以及它们的综合指标,如平均精度均值(mAP)。
1. 精度(Precision):精度是指在所有被模型预测为正类的样本中,真正为正类的样本所占的比例。公式为:Precision = True Positives / (True Positives + False Positives)。
2. 召回率(Recall):召回率是指在所有真实为正类的样本中,被模型正确预测为正类的样本所占的比例。公式为:Recall = True Positives / (True Positives + False Negatives)。
在 mmdetection 中,可以通过设置配置文件中的 `evaluation` 字段来指定评估指标,通常使用 COCO 数据集评估标准,会自动计算精度和召回率。在训练过程中,每隔一定周期(由 `interval` 字段指定)会进行验证,并在控制台输出评估结果。如果要查看具体的精度和召回率曲线,需要将验证的结果保存下来,并使用可视化工具进行绘制。
要显示精度和召回率曲线,你可以使用以下步骤:
- 在配置文件中确保 `evaluation` 字段已经设置好,例如:
```python
evaluation = dict(interval=1, metric='bbox', save_best='mAP')
```
- 开始训练模型,并在训练日志中观察到类似以下的输出(取决于所使用的评估标准):
```bash
+-------+
| mmdet version | 2.4.0 | - |
+---------------------+-------+---------------------+
| date time | | 2021-04-15_12:34:56 |
+---------------------+-------+---------------------+
| #GPU | 4 | - |
+---------------------+-------+---------------------+
| frameworks | | pytorch |
+---------------------+-------+---------------------+
| task type | bbox | - |
+---------------------+-------+---------------------+
| model type | faster_rcnn | - |
+---------------------+-------+---------------------+
| checkpoint | | - |
+---------------------+-------+---------------------+
| mode | train| - |
+---------------------+-------+---------------------+
| #training samples | 11380| - |
+---------------------+-------+---------------------+
| #test samples | 5000| - |
+---------------------+-------+---------------------+
| start time | | 2021-04-15_12:34:58 |
+-------+
| best mAP | 0.35 | - |
+---------------------+-------+---------------------+
| epoch | 1 | - |
+---------------------+-------+---------------------+
| iter | 1234| - |
+---------------------+-------+---------------------+
| time elapsed | 120s | - |
+---------------------+-------+---------------------+
| memory | 12345| - |
+--+---------------------+
| lr | 0.0001| - |
+---------------------+-------+---------------------+
| dataset/eval | | coco/bbox |
+---------------------+-------+---------------------+
| dataset/samples | 5000| - |
+---------------------+-------+---------------------+
| AP@0.5 | 0.35 | - |
| AP@0.5:0.95 | 0.18 | - |
| AP@0.50:0.95 | 0.18 | - |
| AR@100 | 0.52 | - |
| AR@300 | 0.57 | - |
| AR@1000 | 0.57 | - |
| AP_s@0.5 | 0.16 | - |
| AP_s@0.5:0.95 | 0.09 | - |
| AP_m@0.5 | 0.37 | - |
| AP_m@0.5:0.95 | 0.20 | - |
| AP_l@0.5 | 0.49 | - |
| AP_l@0.5:0.95 | 0.25 | - |
+-------+-------+---------------------+
```
- 如果需要手动计算精度和召回率曲线,可以编写脚本来分析验证集的结果文件,一般保存为 `.pkl` 或 `.json` 格式,然后绘制曲线。可以使用 matplotlib 等库来实现这一过程。
为了进一步了解如何使用 mmdetection 完成训练并评估模型,请参考其官方文档。
阅读全文