SuperAPI AI 工具集

tao-train-grounding-dino

通用与其它

查看项目

更新于 10-16 04:34

技能介绍

用途:在 TAO 框架内进行开放集目标检测,通过文本提示(如 person)检测物体,不依赖固定类别词表。结合 DINO 风格检测与 BERT 文本编码器实现语言引导检测。

主要能力:数据集类型为 object_detection,支持 odvg、coco、raw 格式,监控指标为 val_mAP50。操作涵盖 train、evaluate、inference、quantize、export、gen_trt_engine 等。训练前需设置 train.pretrained_model_path(完整 Grounding DINO 权重)或 model.pretrained_backbone_path(仅骨干)。

训练策略:模型层启用 AutoML。处理训练请求前应读取 references/skill_info.yaml 解析 automl_policy。用户说“关闭 AutoML”“禁用 AutoML”“无 HPO”“普通训练”时,本次运行设为 off;否则默认 auto。auto 且 automl_enabled 为 true 且 train schema 与模板齐备时,应默认走 tao-skill-bank:tao-run-automl 并传入本模型 skill_dir。schemas/train.schema.json 或 references/spec_template_train.yaml 缺失时,只能直接训练并说明 AutoML 已启用但不可运行。evaluate、inference、export、deploy 等非训练操作留在本技能。

数据源:每个操作都必须按表格构造数据源路径并写入 spec_overrides。如 S3_TRAIN、S3_EVAL 示例,train 需 dataset.train_data_sources(image_dir、annotations_odvg.jsonl、label_map)与 dataset.val_data_sources(image_dir、annotations.json)。inference 需 infer_data_sources 的 captions 与 classmap。量化需 train/val/quant_calibration 三类数据源。

关键参数:backbone 默认 swin_tiny_224_1k(也支持 resnet_50 及 Swin 变体);text_encoder_type 默认 bert-base-uncased,max_text_len 默认 256;lr 默认 2e-4,lr_backbone 2e-5,支持 bf16;max_labels 默认 50;num_queries 默认 900;lr_steps 默认 [10]。

多卡/多节点:由 Lightning 管理,支持 num_gpus、gpu_ids、num_nodes、distributed_strategy(ddp/fsdp)。多节点需设置 WORLD_SIZE、NODE_RANK、MASTER_ADDR、MASTER_PORT。

导出与 TRT:输入 960x544,opset 17;TRT 仅支持 FP32、FP16,不支持 INT8;workspace 8192 MB,max_batch_size 4。部署前先阅读 references/tao-deploy-grounding-dino.md。

硬件:最低 1 卡,推荐 4 卡,每卡 24GB 以上显存(推荐 A100);显存不足时减小 batch_size。

限制:BERT 文本编码器带来额外显存开销;验证标注类别 ID 应从 0 开始;需能下载 bert-base-uncased 权重或提供本地路径;AutoML 仅在 train schema 与模板齐备时可运行;完整代码示例与更多细节暂未提供。