DINO(DETR with Improved DeNoising Anchor Boxes)用于二维目标检测,是基于 Transformer 的检测器,具备去噪训练、多尺度特征和可选蒸馏能力。该技能可执行训练、评估、导出、蒸馏、量化与推理。若当前会话不是由 TAO 技能库插件初始化,需先运行 tao-setup 技能完成主机预检、凭据与跨技能发现。
用法方面,数据源覆盖对所有动作均为必需:配置中 data_sources 为空,代理须自行构造路径并写入 spec_overrides。标准数据集产物为 images.tar.gz 加 annotations.json,可用 model.pretrained_backbone_path 设置仅主干权重,或用 train.pretrained_model_path 设置完整模型。
训练要求:数据集类型为 object_detection,格式为 coco 或 coco_raw;训练与验证数据集 URI 均必须提供,DINO 无条件构建验证 dataloader,缺少 val_data_sources 会在启动时报 FileNotFoundError,无独立验证集时可复用训练 URI。num_classes 默认 91,须不小于最大类别 ID 加一,过小会触发 CUDA device-side assert。默认参数包括 num_epochs=10、batch_size=4、learning_rate=2e-4、lr_backbone=2e-5、backbone=resnet_50。
该模型在模型层启用 AutoML;未显式指定时默认 automl_policy 为 on,训练请求默认经由 tao-run-automl 路由。关闭 AutoML 或缺少打包训练 schema 模板时才用直接训练。指标方面,默认评估工作流使用 test_mAP50(maximize),仅当用户明确要求 COCO/论文式 mAP 时使用 test_mAP;训练监控用 val_mAP50 或 val_mAP。多 GPU 训练时需同时设置 train.num_gpus 与 train.gpu_ids。
执行 TensorRT 部署动作前应先阅读 tao-deploy-dino.md,部署模板位于本技能的 references 目录。常见错误包括 CUDA 显存不足(减小 batch_size)、缺少验证集、num_classes 过低等。具体数据集契约、参数默认值、错误目录及 AutoML/HPO 细节见对应 references 文件。