mmdetection 源码解析——test.py

一、程序结构

test.py的代码结构比较简单,如下流程图所示:

>1
开始
参数获取
判断输出文件格式
读取配置文件 (mmcv.Config.fromfile)
设置cuda_benchmark, 模型,数据集
判断gpu数量
模型创建,数据加载
单核输出
模型创建,数据加载
并行输出
输出结果

核心代码梳理

(1)参数获取

args = parse_args()

主要解析参数,其参数含义为:

参数名含义
config配置文件名
checkpointcheckpoint 文件
gpusgpu数量
proc_per_gpu每个GPU的进程数, 默认为1
out输出文件名
eval验证类型
show显示结果

(2)配置文件解析

cfg = mmcv.Config.fromfile(args.config)

后续有具体博文

(3)数据集加载

dataset = obj_from_dict(cfg.data.test, datasets, dict(test_mode=True))

后续

(4)模型创建及数据加载

单卡

model = build_detector(
            cfg.model, train_cfg=None, test_cfg=cfg.test_cfg)
        load_checkpoint(model, args.checkpoint)
        model = MMDataParallel(model, device_ids=[0])

        data_loader = build_dataloader(
            dataset,
            imgs_per_gpu=1,
            workers_per_gpu=cfg.data.workers_per_gpu,
            num_gpus=1,
            dist=False,
            shuffle=False)
        outputs = single_test(model, data_loader, args.show)

多卡

model_args = cfg.model.copy()
       model_args.update(train_cfg=None, test_cfg=cfg.test_cfg)
       model_type = getattr(detectors, model_args.pop('type'))
       outputs = parallel_test(
           model_type,
           model_args,
           args.checkpoint,
           dataset,
           _data_func,
           range(args.gpus),
           workers_per_gpu=args.proc_per_gpu)

后续

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: mmdetection test.py 是一个命令行工具,用于在mmdetection框架中进行模型测试。通过该工具,可以加载训练好的模型,对测试集进行预测,并输出预测结果。在使用该工具时,需要指定测试集的路径、模型的路径、输出结果的路径等参数。具体使用方法可以参考mmdetection官方文档。 ### 回答2: MMDetection是一个基于PyTorch的开源目标检测框架,可用于各种物体检测任务。在MMDetection中,test.py是用于测试训练好的模型的主要脚本之一。 使用test.py脚本,需要先准备测试集数据和训练好的模型。测试集数据通常包括一组或多组待检测的图像,这些图像需要与训练集数据的格式相同。训练好的模型可以是从已有的预训练模型微调而来,也可以是从头开始训练的。 在准备好数据和模型后,可以使用test.py脚本进行测试。具体步骤如下: 1. 修改配置文件 首先需要编辑配置文件,将项目的路径和测试文件路径等参数设置正确。配置文件通常保存在config文件夹中,其中包括运行模型的参数、模型架构、训练方案等。可用记事本或其他编辑器打开该文件进行修改。 2. 运行测试 在命令行中输入以下代码即可运行测试 python tools/test.py ${CONFIG_FILE} ${CHECKPOINT_FILE} [--out ${RESULT_FILE}] [--eval ${EVAL_METRICS}] [--show] [--show-dir ${SHOW_DIR}] 其中,${CONFIG_FILE}是指配置文件的路径;${CHECKPOINT_FILE}是指训练好的模型的路径;${RESULT_FILE}是指测试结果保存的路径;${EVAL_METRICS}是指测试评价指标,如AP、AR等;--show和--show-dir参数是可选的,前者用于显示测试结果的图像,后者用于指定显示结果的文件夹路径。 3. 测试结果 测试完成后,可以查看测试结果。如果指定了--out参数,则测试结果会保存在该路径下,可以使用文本编辑器或其他工具打开查看。如果使用了--show参数,则测试结果的图像会显示在屏幕上,可以逐一查看每张图片的检测结果。 总之,MMDetectiontest.py脚本是一个十分重要的工具,它可以方便快捷地进行目标检测模型的测试。需要注意的是,在实际应用中,还需根据具体任务和数据情况进行适当的参数调整和模型优化,以获得更佳的检测结果。 ### 回答3: mmdetection是一个基于PyTorch框架的目标检测工具,提供了训练和测试目标检测模型的工具链。其中test.py是用来测试训练好的目标检测模型的脚本。 在使用mmdetection之前,需要先安装相关的依赖包和mmdetection。可以使用以下命令安装: ``` pip install -r requirements/build.txt pip install -v -e . ``` 安装完成后,需要下载数据集和预训练模型,可以通过以下命令进行下载: ``` python tools/get_data.py ``` 然后,需要准备测试集的数据和相应的配置文件。测试集的数据应该放在一个文件夹中,并且每个图片需要有一个对应的xml文件。配置文件可以在configs文件夹中找到,需要选择与训练时使用的配置文件相同的配置文件。 接下来就可以运行test.py脚本进行测试,例如: ``` python tools/test.py configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py work_dirs/faster_rcnn_r50_fpn_1x_coco/epoch_12.pth --eval bbox ``` 其中,第一个参数是配置文件的路径,第二个参数是模型权重文件的路径,第三个参数是评估的指标,这里选择bbox指标,即bounding box的准确率和AP值。运行完后,会在结果文件夹中生成测试结果。 mmdetectiontest.py脚本还提供了很多其他的参数,可以通过以下命令查看: ``` python tools/test.py --help ``` 总之,mmdetection test.py可以方便地测试训练好的目标检测模型,并输出评估结果,可用于模型优化和验证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值