1. 安装
安装mmcv
pip install -U openmim
mim install mmcv-full
安装mmdet
pip install mmdet
2. 编译
python setup.py install
3. 模型训练
单显卡:
python tools/train.py config.py
多显卡(例如双GPUs):
bash ./tools/dist_train.sh configs.py 2
4. 模型测试
python tools/test.py configs.py weights.pth --eval bbox
5. 推理
图片
python demo/image_demo.py demo/demo.jpg configs.py weights.pth
可以通过高层接口(保存推理结果):
from mmdet.apis import init_detector, inference_detector
import mmcv
# 指定模型的配置文件和 checkpoint 文件路径
config_file = 'configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py'
checkpoint_file = 'checkpoints/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth'
# 根据配置文件和 checkpoint 文件构建模型
model = init_detector(config_file, checkpoint_file, device='cuda:0')
# 测试单张图片并展示结果
img = 'test.jpg' # 或者 img = mmcv.imread(img),这样图片仅会被读一次
result = inference_detector(model, img)
# 在一个新的窗口中将结果可视化
model.show_result(img, result)
# 或者将可视化结果保存为图片
model.show_result(img, result, out_file='result.jpg')
# 测试视频并展示结果
video = mmcv.VideoReader('video.mp4')
for frame in video:
result = inference_detector(model, frame)
model.show_result(frame, result, wait_time=1)
视频
python demo/video_demo.py demo/demo.mp4 config.py checkpoints.pth --out result.mp4
6. 计算网络参数量
python tools/analysis_tools/get_flops.py config.py
7. FPS计算
python tools/analysis_tools/benchmark.py config.py --checkpoint weights.pth
例如
python -m torch.distributed.launch --nproc_per_node=1 --master_port=29500 tools/analysis_tools/benchmark.py config.py --checkpoint weights.pth --launcher pytorch
参考:[1]