新闻详情

新闻详情

首页 / 资讯中心 / 详情

如何用 Detectron2 train_net.py 的 --eval-only 模式评估一个已训练的检查点

发布时间:2026/9/13 17:51:41来源:尧图网络
如何用 Detectron2 train_net.py 的 --eval-only 模式评估一个已训练的检查点
如何用 Detectron2 train_net.py 的 --eval-only 模式评估一个已训练的检查点【免费下载链接】detectron2Detectron2 is a platform for object detection, segmentation and other visual recognition tasks.项目地址: https://gitcode.com/GitHub_Trending/de/detectron2手头有一个 Detectron2 训练出来的模型检查点.pth或模型库的.pkl想拿到它在测试集上的标准指标如 COCO 的 bbox AP、segm AP而不是重新跑一遍训练。Detectron2 为此提供了tools/train_net.py的--eval-only模式它只构建模型、加载指定权重、对配置里的测试集做完整推理并输出聚合指标不执行任何训练步骤。本文以仓库自带的 COCO 配置为例说明从准备数据集到确认评估结果的完整路径。前置条件--eval-only的执行依赖三样东西能跑的 Detectron2 环境、一个与模型结构匹配的配置、以及测试集数据本身。环境按 INSTALL.md 安装 detectron2。要求 Linux 或 macOS、Python ≥ 3.7、PyTorch ≥ 1.8 且 torchvision 与之匹配从源码构建还需要 gcc g ≥ 5.4。测试数据集评估会读取配置DATASETS.TEST指定的数据集数据必须按内置数据集的目录结构就位。以 COCO 为例参考 datasets/README.md$DETECTRON2_DATASETS/ coco/ annotations/ instances_{train,val}2017.json {train,val}2017/ # 对应 json 中引用的图片文件数据集根目录通过环境变量DETECTRON2_DATASETS指定例如export DETECTRON2_DATASETS/path/to/datasets如果未设置默认是当前工作目录下的./datasets。 3.配置文件使用训练该模型时所用的 yaml 配置。注意这类配置里的MODEL.WEIGHTS默认指向 ImageNet 预训练权重如 mask_rcnn_R_50_FPN_1x.yaml 中的detectron2://ImageNetPretrained/MSRA/R-50.pkl它只决定模型结构评估时会被你在命令行覆盖的权重替代。运行评估命令在tools/目录下运行getting started 文档给出的评估命令cd tools/ ./train_net.py \ --config-file ../configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_1x.yaml \ --eval-only MODEL.WEIGHTS /path/to/checkpoint_file命令中的关键项--eval-only只执行评估。train_net.py在开启该参数时会走独立的分支Trainer.build_model(cfg)构建模型DetectionCheckpointer(...).resume_or_load(cfg.MODEL.WEIGHTS, ...)加载权重然后调用Trainer.test(cfg, model)对cfg.DATASETS.TEST中每个数据集推理并聚合指标全程不启动训练循环见 tools/train_net.py 的main()函数。MODEL.WEIGHTS /path/to/checkpoint_file这是命令末尾的opts配置覆盖语法用于指定要评估的检查点文件路径。把/path/to/checkpoint_file替换为你的实际文件例如某次训练产出的model_final.pth或中间快照model_0007499.pth。Detectron2 的 checkpointer 同时识别 PyTorch.pth格式和模型库的.pkl文件。--config-file必须指向与检查点结构一致的配置否则权重无法装入模型。--num-gpus默认 1。评估时按你的 GPU 数设置即可多 GPU 会分片数据集并行推理。更多选项可以看./train_net.py -h。没有 GPU 时可以在命令末尾追加MODEL.DEVICE cpu让模型跑在 CPU 上INSTALL.md 说明大多数模型可以在 CPU 上推理。如何读取评估结果评估过程中主进程会打印聚合指标。DefaultTrainer.test()在跑完每个数据集后输出类似这样的日志见 detectron2/engine/defaults.py 与 detectron2/evaluation/testing.py 的print_csv_formatEvaluation results for coco_2017_val in csv format: copypaste: Task: coco_2017_val copypaste: bbox,mseg,... copypaste: 47.34,42.67,...这些copypaste:行以 Detectron 风格排列指标名和数值方便直接粘进表格本文中的数值来自文档配置示例你的检查点会输出不同的值。推理产生的输出如评估器保存的推理结果文件默认写到cfg.OUTPUT_DIR/inference目录train_net.py的build_evaluator()在调用方未指定输出目录时会把os.path.join(cfg.OUTPUT_DIR, inference)作为output_dir传给COCOEvaluator等评估器。评估器类型由数据集元数据中的evaluator_type决定COCO、COCO panoptic、LVIS、Pascal VOC、Cityscapes 等内置数据集都有对应的标准评估器若某数据集找不到匹配的 evaluator脚本会抛出NotImplementedError并提示数据集名和类型。用 TEST.EXPECTED_RESULTS 校验结果是否符合预期--eval-only分支跑完后会在主进程调用verify_results(cfg, res)如果配置里设置了TEST.EXPECTED_RESULTS就会把实际指标与预期值逐一比较。仓库自带的 mask_rcnn_R_50_FPN_inference_acc_test.yaml 是一个可直接参考的例子_BASE_: ../COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml MODEL: WEIGHTS: detectron2://COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x/137849600/model_final_f10217.pkl DATASETS: TEST: (coco_2017_val_100,) TEST: EXPECTED_RESULTS: [[bbox, AP, 47.34, 0.02], [segm, AP, 42.67, 0.02], [bbox_TTA, AP, 49.11, 0.02], [segm_TTA, AP, 45.04, 0.02]] AUG: ENABLED: True MIN_SIZES: (700, 800) # to save some time FLOAT32_PRECISION: highest每条形目是[任务, 指标, 预期值, 容差]。验证结果只有两种日志表现见verify_results源码通过Results verification passed.失败Result verification failed!随后打印 Expected/Actual 两份结果进程以非零码退出sys.exit(1)。上面的 47.34、42.67 等数值是该配置在coco_2017_val_100子集上的参考值仅在评估模型库模型时有意义用自己的检查点评估时除非你明确知道预期指标否则不需要设置TEST.EXPECTED_RESULTS。可选开启 TTA 评估如果TEST.AUG.ENABLED为True例如上面的 quick schedule 配置--eval-only会在常规评估之后追加一次 test-time augmentation 推理结果以_TTA后缀写入指标字典如bbox_TTA。注意train_net.py中test_with_TTA的注释说明 TTA 只支持部分 R-CNN 模型。对没有开启TEST.AUG.ENABLED的普通训练配置这一步不会发生评估只输出常规指标。限制与常见问题检查点路径无效或结构不匹配--eval-only的加载逻辑依赖resume_or_load检查点必须与--config-file指定的模型结构一致MODEL.WEIGHTS支持.pth和.pkl两种格式。数据集未就位若DETECTRON2_DATASETS未设置或目录结构不符合 datasets/README.md 的要求评估会在读取数据时失败LVIS、panoptic 等数据集还需按其说明安装对应 api。自定义数据集内置build_evaluator只处理内置数据集的evaluator_type对自定义数据集train_net.py头部注释建议把 detectron2 当库使用、自行编写带DatasetEvaluator的脚本而不是依赖这个通用入口。MODEL_ZOO.md 中各模型的推理耗时inference time, s/im就是用tools/train_net.py --eval-onlybatch size 1测得的因此这条命令既是日常验收手段也可以作为复测推理速度的基准。【免费下载链接】detectron2Detectron2 is a platform for object detection, segmentation and other visual recognition tasks.项目地址: https://gitcode.com/GitHub_Trending/de/detectron2创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

PDF补丁丁教程:免费搞定 PDF 合并、书签生成与文档修复的 5 个任务 2026/9/13 18:30:44

PDF补丁丁教程:免费搞定 PDF 合并、书签生成与文档修复的 5 个任务

PDF补丁丁教程:免费搞定 PDF 合并、书签生成与文档修复的 5 个任务 【免费下载链接】PDFPatcher PDF补丁丁——PDF工具箱,可以编辑书签、剪裁旋转页面、解除限制、提取或合并文档,探查文档结构,提取图片、转成图片等等 项目地址…

阅读更多 →
WeKnora 知识库实战:将《员工手册 · 报销与休假》样例语料打造成可检索的制度问答知识库 2026/9/13 18:30:44

WeKnora 知识库实战:将《员工手册 · 报销与休假》样例语料打造成可检索的制度问答知识库

WeKnora 知识库实战:将《员工手册 报销与休假》样例语料打造成可检索的制度问答知识库 【免费下载链接】WeKnora Open-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki. …

阅读更多 →
Label Studio OCR 发票 Pre-NER 模板实战:从图片校对到 BIO 标注数据 2026/9/13 18:30:44

Label Studio OCR 发票 Pre-NER 模板实战:从图片校对到 BIO 标注数据

Label Studio OCR 发票 Pre-NER 模板实战:从图片校对到 BIO 标注数据 【免费下载链接】label-studio Label Studio is a multi-type data labeling and annotation tool with standardized output format 项目地址: https://gitcode.com/GitHub_Trending/la/label…

阅读更多 →
openai-docs skill 最新模型指南:掌握 OpenAI 模型选型映射与动态刷新机制 2026/9/13 18:30:44

openai-docs skill 最新模型指南:掌握 OpenAI 模型选型映射与动态刷新机制

openai-docs skill 最新模型指南:掌握 OpenAI 模型选型映射与动态刷新机制 【免费下载链接】skills Skills Catalog for Codex 项目地址: https://gitcode.com/GitHub_Trending/skills4/skills 导读 openai-docs 是 Codex skills 目录中负责 OpenAI 官方文档…

阅读更多 →
CopilotKit × Langroid 集成实战:In-App 人工审批(HITL In-App)功能实现与 QA 验证全解析 2026/9/13 18:30:44

CopilotKit × Langroid 集成实战:In-App 人工审批(HITL In-App)功能实现与 QA 验证全解析

CopilotKit Langroid 集成实战:In-App 人工审批(HITL In-App)功能实现与 QA 验证全解析 【免费下载链接】CopilotKit The Frontend Stack for Agents & Generative UI. React, Angular, Mobile, Slack, and more. Makers of the AG-UI P…

阅读更多 →
接口测试核心流程与主流工具实践指南 2026/9/13 18:27:43

接口测试核心流程与主流工具实践指南

1. 接口测试的本质与价值接口测试作为软件测试领域的重要组成部分,其核心在于验证不同系统模块间数据交互的正确性和可靠性。想象一下两个城市之间的高速公路系统——接口就是连接这些城市的立交桥和收费站,而接口测试则是确保车辆(数据&…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞