文章目录[隐藏]
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
暂无评论