Agent Skills
返回列表
🤖

TAO Grounding DINO 训练

AI Agent 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/tao-train-grounding-dino。

技能介绍

要解决什么问题

固定类别表的目标检测在「按自然语言描述找物体」的场景里很快不够用:类别要预先枚举,换任务就要改标签体系。Grounding DINO 把 DINO 式检测和 BERT 文本编码器接在一起,用文本提示指定要检的对象,属于开放式 / 开放词汇检测,不必维护固定 class list。

本技能是 TAO Toolkit 上的 grounding_dino 模型包:在统一规格里跑训练、评估、推理、导出与量化,并对接 TensorRT 部署文档与 spec_template_deploy_*.yaml 模板。

技能如何工作

  • 数据:训练/量化用 ODVG(annotations_odvg.jsonl + label map);验证 mAP 仍建议 COCO 格式 annotations.json。推理除 images.tar.gz 外,还可从工作流提示提供 captions 列表。
  • 预训练:train.pretrained_model_path 填完整 Grounding DINO 权重,或 model.pretrained_backbone_path 只加载骨干。
  • 训练路由:模型层默认开启 AutoML(automl_policy: on)。具备 schemas/train.schema.json 与 spec_template_train.yaml 时,训练经 tao-skill-bank:tao-run-automl;用户明确「关闭 AutoML / 无 HPO / 简单训练」则本次运行走直接训练。
  • 关键超参:model.backbone(默认 swin_tiny_224_1k)、model.text_encoder_type(默认 bert-base-uncased)、model.max_text_len(默认 256,需与标签位置图一致)、model.num_queries(默认 900,密集标注勿用过小烟雾值)。
  • 多 GPU:Lightning 启动,train.distributed_strategy 为 ddp 或 fsdp;多节点需 Orchestrator 注入 WORLD_SIZE 等环境变量。
  • 导出 / TRT:导出输入默认 960×544、opset 17;TRT 仅 FP32/FP16(不支持 INT8),workspace 8192 MB,max batch 4。部署前读 references/tao-deploy-grounding-dino.md。

适用边界与注意点

  • 图像源可打包为 images.tar.gz,但本地 Docker TAO CLI 必须把 image_dir 指到已解压目录(技能元数据 runtime: extracted_folder)。
  • 各操作的 dataset.*_data_sources 需在 spec_overrides 里按操作表显式覆盖,代理不能省略。
  • OOM 时优先降 batch_size;BERT 头显存开销明显,建议 24GB+ GPU,最少 1 卡、常用 4 卡。
  • 勿为冒烟随意缩小 model.max_text_len 或导出分辨率(过小如 128×128 可能在 ONNX 文本头 shape 推断失败);验证类别 ID 应从 0 起。
  • 父作业检查点通过 parent_job_id 与 SDK 映射解析(如 evaluate.checkpoint → parent_model),勿在运行脚本里硬猜路径;评估/推理/导出需与训练一致的 backbone、queries、max_text_len 等结构参数。

使用场景

  • 已有 ODVG 标注的图像集,要在 TAO 上微调 Grounding DINO 并用 COCO 验证集算 val_mAP50
  • 产线或质检图库需按自然语言 captions 批量推理,而不是固定类别 ID 列表
  • 训练完成后要把检查点导出 ONNX,再按 references 文档生成 FP16 TensorRT 引擎做低延迟检测
  • 想在同一份 train spec 里试 AutoML 超参搜索,而不是手写 learning rate 与 backbone 组合

适合人员

  • 负责 NVIDIA TAO 物体检测流水线、要把语言提示检测接到现有 ODVG/COCO 数据规范的算法工程师
  • 在 Skill Bank 里编排 train→export→gen_trt_engine 多阶段作业、需正确填 spec_overrides 与 parent_job_id 的 MLOps
  • 要把 Grounding DINO 部署到 GPU 推理节点、需遵守 960×544 导出与 FP32/FP16 TRT 约束的嵌入式/边缘 CV 工程师
  • 做开放词汇检测 POC、需区分 AutoML 训练与直接训练,并处理 BERT 权重与显存 OOM 的 CV 研究员