MMDetection——常用工具:模型推理、可视化分析、FLOPs和参数计算、推理速度

常用工具

1. 模型推理

官方的数据集推理格式:

# single-gpu testing
python tools/test.py ${CONFIG_FILE} ${CHECKPOINT_FILE} [--out ${RESULT_FILE}] [--eval ${EVAL_METRICS}] [--show]

python tools/test.py configs/faster_rcnn_r50_fpn_1x_coco.py \ 
    checkpoints/faster_rcnn_r50_fpn_1x_20181010-3d1b3351.pth \
    --show

# configs/faster_rcnn_r50_fpn_1x_coco.py 为测试的模型
# checkpoints/faster_rcnn_r50_fpn_1x_20181010-3d1b3351.pth 为保存的断点
# (不一定指定为checkpoints文件夹下,可任意文件夹下面的.pth文件)(写对路径)

# --show : 可视化结果,但不保存,按任意键查看下一张

# --show-dir [save-dir] : 保存推理过后的图片,save-dir即为对应保存路径

# PS:
python tools/test.py configs/faster_rcnn_r50_fpn_1x_coco.py \ 
    checkpoints/faster_rcnn_r50_fpn_1x_20181010-3d1b3351.pth \
    --show-dir faster_rcnn_r50_fpn_1x_results

# --eval : 推理测试指标

# --eval bbox segm : 测试bbox和mask AP(coco)
# --eval mAP : 测试mAP(VOC)

2. 可视化分析——logs

官方:

python tools/analyze_logs.py plot_curve [--keys ${KEYS}] [--title ${TITLE}] [--legend ${LEGEND}] [--backend ${BACKEND}] [--style ${STYLE}] [--out ${OUT_FILE}]

通过几个指标数据画图: 

python tools/analysis_tools/analyze_logs.py plot_curve work_dirs/faster_rcnn_r50_fpn_1x_coco_bccd/20210707_210719.log.json
--keys loss_cls loss_bbox --out faster_rcnn_bccd_losses.pdf

# --keys : 要画图的指标
# --out : 保存的文件

展示训练时间:

python tools/analysis_tools/analyze_logs.py cal_train_time work_dirs/faster_rcnn_r50_fpn_1x_coco_bccd/20210707_210719.log.json

3. 计算FLOPs和params

python tools/analysis_tools/get_flops.py ${CONFIG_FILE} [--shape ${INPUT_SHAPE}]

4. Inference speed 

只支持分布式版本,特别注意的是它测试的是2000张图片(前500忽略)的平均值。每50张图片显示一次结果。

python -m torch.distributed.launch --nproc_per_node=1 --master_port=29500 tools/analysis_tools/benchmark.py $cofig $checkpoint --launcher pytorch

Reference

https://mmdetection.readthedocs.io/en/v2.2.1/getting_started.html

版权声明:本文为CSDN博主「阿基美德」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/X_blackbutterfly/article/details/118603499

阿基美德

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

MMDETECTION微调模型

在 COCO 数据集上预训练的检测器可以作为其他数据集(例如 CityScapes 和 KITTI 数据集)的良好预训练模型。本教程指导用户将Model Zoo 中提供的模型用于其他数据集以获得更好的性能。 在新数