用途:面向细粒度视觉识别的度量学习识别(ml-recog),学习用于检索式匹配的嵌入向量,例如零售商品识别,采用 triplet/contrastive 损失。需设置 model.pretrained_model_path 指定预训练骨干网络。
主要能力与用法:支持 train、evaluate、inference、export、gen_trt_engine 等动作。训练数据集类型为 ml_recog,格式 default,监控指标为 val Precision at Rank 1。评估必须提供 reference 与 query 数据集以计算检索指标。每个动作都必须构造数据源路径并写入 spec_overrides。
关键参数:model.backbone 默认 resnet_50,可选 resnet_50、resnet_101、fan_small、fan_base、fan_large、fan_tiny、nvdinov2_vit_large_legacy;model.feat_dim 默认 256;train.batch_size 默认 4;dataset.num_instance 默认 4;trunk 与 embedder 的 base_lr 默认 3.5e-4;triplet_loss_margin 默认 0.3;miner_function_margin 默认 0.1;学习率衰减 steps 默认 [40, 70],gamma=0.1。
多 GPU:由 Lightning 管理,单 python 进程;train.num_gpus 默认 1,train.gpu_ids 默认 [0],策略 auto,面向单节点。最低 1 GPU,推荐 2 GPU,每 GPU 16GB+ 显存。
AutoML:模型层启用,需 schemas/train.schema.json 与 references/spec_template_train.yaml 存在且可解析才可运行;默认经 tao-skill-bank:tao-run-automl 路由,用户要求关闭时本run用 automl_policy: off。
部署:TensorRT 动作(gen_trt_engine、TensorRT evaluate、TensorRT inference)先阅读 references/tao-deploy-metric-learning-recognition.md。推理字段映射见文档,父模型通过 parent_job_id 推断,不要改 config.json 或补丁脚本。
限制:需注意 reference/query 类别命名空间兼容;缺失事实暂未提供。