EmbodiedScan推理部署实战:单卡/多卡测试与提交结果文件全流程
EmbodiedScan推理部署实战单卡/多卡测试与提交结果文件全流程【免费下载链接】EmbodiedScan[CVPR 2024 NeurIPS 2024] EmbodiedScan: A Holistic Multi-Modal 3D Perception Suite Towards Embodied AI项目地址: https://gitcode.com/gh_mirrors/em/EmbodiedScan作为 CVPR 2024 与 NeurIPS 2024 收录的多模态 3D 感知套件EmbodiedScan 推理部署是许多新手接触具身智能的第一站。它支持多视角 RGB-D 序列与自然语言指令输入可同时输出 3D 检测框、视觉定位与语义占用结果。很多同学卡在了模型训练完怎么测试、结果文件怎么提交这一步。本文将手把手带你走通EmbodiedScan 推理部署的全流程从环境准备、单卡/多卡推理测试到生成test_results.json并打包成可提交的 pkl 结果文件全程无需大量代码照着操作即可。 先认识 EmbodiedScan 的推理管线EmbodiedScan 的基准框架Embodied Perceptron采用多模态输入 → 特征编码 → 稀疏融合 → 多任务解码的端到端架构2D 图像编码器与稀疏 3D 编码器分别提取图像与点云特征文本编码器将语言指令编码后融入视觉-语言融合模块最终由 Dense Decoder 输出占用图、Sparse Decoder 输出 3D 检测框并支持语言引导的视觉定位。理解这张框架图你就明白了推理时数据是怎么流动的50 张有序多视角 RGB-D 图像被聚合为点云经过体素化后送入模型配合查询语句如 Find the table即可输出 3D 结果。这就是后面所有测试命令的基础。⚙️ 推理前的三步准备第一步克隆仓库并安装环境git clone https://gitcode.com/gh_mirrors/em/EmbodiedScan cd EmbodiedScan conda create -n embodiedscan python3.8 -y conda activate embodiedscan python install.py run项目在 Ubuntu 20.04、CUDA 12.0、PyTorch 1.11 环境下验证通过。若只做推理安装运行依赖python install.py run即可无需安装可视化相关依赖。第二步准备数据集与权重按 data/README.md 下载并组织好数据放在data/目录下包含embodiedscan_infos_test.pkl等索引文件并下载官方发布的预训练 checkpoint如检测模型的epoch_12.pth、视觉定位模型的预训练权重。第三步确认配置文件推理所用的配置位于 configs/detection/ 与 configs/grounding/ 目录下例如多视图 3D 检测配置mv-det3d_8xb4_embodiedscan-3d-284class-9dof.py。测试数据加载器默认读取embodiedscan_infos_test.pkl需确保路径与你的数据布局一致。 单卡推理测试一行命令快速上手EmbodiedScan 的测试入口是 tools/test.py用法与训练脚本保持一致传入配置文件路径和 checkpoint 路径即可。单卡推理测试是最简单的起步方式python tools/test.py configs/detection/mv-det3d_8xb4_embodiedscan-3d-284class-9dof.py work_dirs/mv-3ddet/epoch_12.pth命令执行后脚本会通过Runner构建测试循环自动加载权重cfg.load_from args.checkpoint并在测试集上推理同时计算并打印检测指标如 mAPIoU 等。如果你想在测试时可视化预测框可追加--show-dir参数指定保存目录例如python tools/test.py configs/detection/mv-det3d_8xb4_embodiedscan-3d-284class-9dof.py work_dirs/mv-3ddet/epoch_12.pth --show-dir work_dirs/vis需要调整 batch size 或数据路径等参数时可用--cfg-options覆盖配置中的任意键值无需修改原配置文件。⚡ 多卡推理测试分布式加速技巧当测试集规模较大或单卡显存不足时多卡推理测试能显著提速。只需在命令后追加启动器参数python tools/test.py configs/detection/mv-det3d_8xb4_embodiedscan-3d-284class-9dof.py work_dirs/mv-3ddet/epoch_12.pth --launcherpytorch此时脚本会读取LOCAL_RANK环境变量并基于 NCCL 后端初始化分布式环境见 tools/test.py 中的--local_rank参数处理。请配合torch.distributed.launch或torchrun启动torchrun --nproc_per_node4 tools/test.py configs/detection/mv-det3d_8xb4_embodiedscan-3d-284class-9dof.py work_dirs/mv-3ddet/epoch_12.pth --launcherpytorch如果使用 Slurm 集群可将--launcher改为slurm配合srun提交任务即可。多卡推理时每个进程处理一部分 batch最后由主进程汇总评测结果。 格式推理只输出结果不评测提交前的关键一步要参加官方 benchmark 或生成提交结果文件需要开启格式推理format-only模式只推理预测结果并保存为 JSON不做指标评测。做法是在配置中将test_evaluator改为test_evaluator dict(typeGroundingMetric, format_onlyTrue)官方配置文件 mv-grounding_8xb12_embodiedscan-vg-9dof.py 第 186 行正是这种写法。然后运行python tools/test.py configs/grounding/mv-grounding_8xb12_embodiedscan-vg-9dof.py work_dirs/mv-grounding/epoch_12.pth --launcherpytorch推理完成后grounding_metric.py 会将每个场景按分数排序取 top-20 预测框保存为test_results.json。默认存放在当前目录你也可以在test_evaluator中通过result_dir指定保存目录test_evaluator dict(typeGroundingMetric, format_onlyTrue, result_dir./output)这样结果文件就会输出到./output/test_results.json。 提交结果文件打包成 pkl 的完整流程拿到test_results.json后还差最后一步按官方规定的元信息格式打包成 pkl 提交文件。项目已提供打包脚本 tools/submit_results.py你只需修改文件开头的团队信息即可results_file ./test_results.json submit_file ./submission.pkl method YourMethod team YourTeam authors Your Name email youremail.com institution Your Institution country China然后运行python tools/submit_results.py脚本会用mmengine.load读取结果 JSON再与团队信息一起写入submission.pkldict 结构包含 method、team、authors、e-mail、institution、country 和 results 字段。之后把这个 pkl 文件提交到测试服务器即可。 提交前自检用官方脚本验证格式为了防止提交后才发现格式错误官方还提供了自检脚本 tools/eval_script.py 和便携版 tools/eval_script_portable.py可对提交文件做本地评测与格式校验python tools/eval_script.py建议打包前先跑一遍自检确认字段完整、框坐标格式Euler-Depth 9-DoF正确再正式提交。 推理部署常见问题速查显存不足降低test_dataloader的batch_size或用--cfg-options test_dataloader.batch_size1覆盖。找不到 test 数据确认data/下存在embodiedscan_infos_test.pkl且配置文件中的data_root指向正确。加载权重报错多视图检测与视觉定位模型的部分键名有过改动请使用最新发布的预训练权重。多卡速度反而变慢检查num_workers与persistent_workers设置避免数据加载成为瓶颈。至此你已经掌握了 EmbodiedScan 推理部署的完整闭环单卡快速验证、多卡并行加速、格式推理生成结果文件、脚本打包提交、自检兜底。从训练好的 checkpoint 到一份合格的 benchmark 提交全程只需几条命令。快用你的模型去测试服务器上开奖吧【免费下载链接】EmbodiedScan[CVPR 2024 NeurIPS 2024] EmbodiedScan: A Holistic Multi-Modal 3D Perception Suite Towards Embodied AI项目地址: https://gitcode.com/gh_mirrors/em/EmbodiedScan创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考