mmdetection --tools工具简单使用1

demo使用

单张图片测试–image_demo.py

python demo/image_demo.py \
    ${IMAGE_FILE} \
    ${CONFIG_FILE} \
    ${CHECKPOINT_FILE} \
    [--device ${GPU_ID}] \
    [--score-thr ${SCORE_THR}] \
    [--async-test]

示例:

python demo/image_demo.py demo/demo.jpg \
    configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py \
    checkpoints/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth \
    --device cpu

视屏推理–video_demo.py

python demo/video_demo.py \
    ${VIDEO_FILE} \
    ${CONFIG_FILE} \
    ${CHECKPOINT_FILE} \
    [--device ${GPU_ID}] \
    [--score-thr ${SCORE_THR}] \
    [--out ${OUT_FILE}] \
    [--show] \
    [--wait-time ${WAIT_TIME}]

示例:

python demo/video_demo.py demo/demo.mp4 \
    configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py \
    checkpoints/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth \
    --out result.mp4

本地摄像头测试:webcam_demo.py

python demo/webcam_demo.py \
    ${CONFIG_FILE} \
    ${CHECKPOINT_FILE} \
    [--device ${GPU_ID}] \
    [--camera-id ${CAMERA-ID}] \
    [--score-thr ${SCORE_THR}]

示例:

python demo/webcam_demo.py \
    configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py \
    checkpoints/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth

测试现有模型–test.py

单 GPU 测试

python tools/test.py \
    ${CONFIG_FILE} \
    ${CHECKPOINT_FILE} \
    [--out ${RESULT_FILE}] \
    [--eval ${EVAL_METRICS}] \
    [--show]

多 GPU 测试

bash ./tools/dist_test.sh \
    ${CONFIG_FILE} \
    ${CHECKPOINT_FILE} \
    ${GPU_NUM} \
    [--out ${RESULT_FILE}] \
    [--eval ${EVAL_METRICS}]

这里需要在命令框输入这一串命令。
可选参数:

RESULT_FILE: 结果文件名称,需以 .pkl 形式存储。如果没有声明,则不将结果存储到文件。

EVAL_METRICS: 需要测试的度量指标。可选值是取决于数据集的,比如 proposal_fast,proposal,bbox,segm 是 COCO 数据集的可选值,mAP,recall 是 Pascal VOC 数据集的可选值。Cityscapes 数据集可以测试 cityscapes 和所有 COCO 数据集支持的度量指标。

--show: 如果开启,检测结果将被绘制在图像上,以一个新窗口的形式展示。它只适用于单 GPU 的测试,是用于调试和可视化的。请确保使用此功能时,你的 GUI 可以在环境中打开。否则,你可能会遇到这么一个错误 cannot connect to X server。

--show-dir: 如果指明,检测结果将会被绘制在图像上并保存到指定目录。它只适用于单 GPU 的测试,是用于调试和可视化的。即使你的环境中没有 GUI,这个选项也可使用。

--show-score-thr: 如果指明,得分低于此阈值的检测结果将会被移除。

--cfg-options: 如果指明,这里的键值对将会被合并到配置文件中。

--eval-options: 如果指明,这里的键值对将会作为字典参数被传入 dataset.evaluation() 函数中,仅在测试阶段使用。

示例:
需要先下载对应的.pth 文件放到 checkpoints文件下。以Faster R-CNN为例

1.测试 Faster R-CNN 并可视化其结果。按任意键继续下张图片的测试

python tools/test.py \
    configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py \
    checkpoints/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth \
    --show

2.测试 Faster R-CNN,并为了之后的可视化保存绘制的图像。
这步也可用多GPU的命令。

python tools/test.py \
    configs/faster_rcnn/faster_rcnn_r50_fpn_1x.py \
    checkpoints/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth \
    --show-dir faster_rcnn_r50_fpn_1x_results

3.使用 8 块 GPU 测试 Mask R-CNN,测试 bbox 和 mAP

./tools/dist_test.sh \
    configs/mask_rcnn_r50_fpn_1x_coco.py \
    checkpoints/mask_rcnn_r50_fpn_1x_coco_20200205-d4b0c5d6.pth \
    8 \
    --out results.pkl \
    --eval bbox segm

训练-train.py

单 GPU 训练

python tools/train.py \
    ${CONFIG_FILE} \
    [optional arguments]

在训练期间,日志文件和 checkpoint 文件将会被保存在工作目录下,它需要通过配置文件中的 work_dir 或者 CLI 参数中的 --work-dir 来指定。

默认情况下,模型将在每轮训练之后在 validation 集上进行测试,测试的频率可以通过设置配置文件来指定:

# 每 12 轮迭代进行一次测试评估
evaluation = dict(interval=12)

可选参数:

--no-validate (不建议): 在训练期间关闭测试.

--work-dir ${WORK_DIR}: 覆盖工作目录.

--resume-from ${CHECKPOINT_FILE}: 从某个 checkpoint 文件继续训练.

--options 'Key=value': 覆盖使用的配置文件中的其他设置.

注意: resume-from 和 load-from 的区别:
resume-from 既加载了模型的权重和优化器的状态,也会继承指定 checkpoint 的迭代次数,不会重新开始训练。load-from 则是只加载模型的权重,它的训练是从头开始的,经常被用于微调模型。

示例

python    tools/train.py      configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py

多 GPU 训练

bash  ./tools/dist_train.sh \
    ${CONFIG_FILE} \
    ${GPU_NUM} \
    [optional arguments]

推理时间基准–benchmark.py

我们提供 benchmark.py 对推理时间进行基准测试。此脚本将推理 2000 张图片并计算忽略前 5 次推理的平均推理时间。可以通过设置 LOG-INTERVAL 来改变 log 输出间隔(默认为 50)。

python toools/benchmark.py ${CONFIG} ${CHECKPOINT} [--log-interval $[LOG-INTERVAL]] [--fuse-conv-bn]

可视化数据集标签 – browse_dataset.py

一般训练前放好数据集和设置好相应的配置文件之后,需要先看看自己数据集标签这块对着没。可运行如下命令以faster_rcnn为例
示例:

python  tools/misc/browse_dataset.py   configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py    

以上类容大多都是从官网精简下来常用的命令,日常学习使用。
详细内容可以进入官方文档了解

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

S5242

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

暂无评论

发表评论

相关推荐