tao-train-mask2former
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseMask2Former
Mask2Former
Mask2Former for universal image segmentation (panoptic, instance, and semantic). Transformer-based with masked attention for high-quality segmentation results.
Set model.backbone.pretrained_weights for Swin backbone weights.
For TAO Deploy TensorRT actions (, TensorRT , and TensorRT ), read first. Deploy spec templates live in this skill's folder with the prefix.
gen_trt_engineevaluateinferencereferences/tao-deploy-mask2former.mdreferences/spec_template_deploy_*.yamlMask2Former用于通用图像分割(全景分割、实例分割和语义分割)。这是基于Transformer的模型,采用掩码注意力机制以实现高质量的分割结果。
设置model.backbone.pretrained_weights以加载Swin骨干网络权重。
对于TAO Deploy TensorRT操作(、TensorRT 和TensorRT ),请先阅读。部署配置模板存放在本技能的文件夹中,前缀为。
gen_trt_engineevaluateinferencereferences/tao-deploy-mask2former.mdreferences/spec_template_deploy_*.yamlDataclass Schemas
数据类模式
Generated TAO Core schemas are packaged in , with listing available actions. Each generated schema also emits from the schema top-level field. AutoML enablement is declared at the model layer in via . Runnable AutoML still requires and to exist and parse. Use the packaged train schema for , , defaults, min/max bounds, enums, option weights, math conditions, dependencies, and popular parameters. Do not expect at runtime; maintainers regenerate schemas/templates before packaging the skill bank.
schemas/<action>.schema.jsonschemas/manifest.jsonreferences/spec_template_<action>.yamldefaultreferences/skill_info.yamlautoml_enabledschemas/train.schema.jsonreferences/spec_template_train.yamlautoml_default_parametersautoml_disabled_parameters~/tao-core生成的TAO Core模式打包在中,列出了可用的操作。每个生成的模式还会从模式顶层的字段生成。AutoML支持在的模型层通过声明。可运行的AutoML仍要求和存在且可解析。使用打包的训练模式来配置、、默认值、最小/最大范围、枚举值、选项权重、数学条件、依赖关系以及常用参数。运行时不要依赖;维护人员在打包技能库前会重新生成模式/模板。
schemas/<action>.schema.jsonschemas/manifest.jsondefaultreferences/spec_template_<action>.yamlreferences/skill_info.yamlautoml_enabledschemas/train.schema.jsonreferences/spec_template_train.yamlautoml_default_parametersautoml_disabled_parameters~/tao-coreTrain Action Policy
训练操作策略
This model is AutoML-enabled at the model layer. Before handling any train-stage request, read and resolve the run override from either an explicit value or the user's workflow request. Treat phrases like "turn off AutoML", "disable AutoML", "no HPO", or "plain training" as for this run only; otherwise default to . When , , and both and are packaged, route the train action through by default with this model's . Preserve workflow/application overrides for datasets, specs, output directories, GPU/platform settings, parent checkpoints, and . Use direct model training only when or the packaged train schema/template is missing; in the missing-schema case, report that AutoML is enabled but not runnable for this model until schemas are generated.
references/skill_info.yamlautoml_policyautoml_policy: offautoautoml_policy: autoautoml_enabled: trueschemas/train.schema.jsonreferences/spec_template_train.yamltao-skill-bank:tao-run-automlskill_dirautoml_policyautoml_policy: offNon-train actions such as , , , and deploy flows stay in this model skill. The per-run override does not change model metadata.
evaluateinferenceexportautoml_policy该模型在模型层支持AutoML。处理任何训练阶段的请求前,请先阅读,并通过显式的值或用户的工作流请求确定运行覆盖配置。将“turn off AutoML”、“disable AutoML”、“no HPO”或“plain training”这类短语视为本次运行的;否则默认设为。当、,且和已打包时,默认将训练操作通过路由,并使用该模型的。保留数据集、配置、输出目录、GPU/平台设置、父检查点和的工作流/应用覆盖配置。仅当或打包的训练模式/模板缺失时才使用直接模型训练;若模式缺失,需报告该模型已启用AutoML但无法运行,直到生成模式为止。
references/skill_info.yamlautoml_policyautoml_policy: offautoautoml_policy: autoautoml_enabled: trueschemas/train.schema.jsonreferences/spec_template_train.yamltao-skill-bank:tao-run-automlskill_dirautoml_policyautoml_policy: off非训练操作(如、、以及部署流程)仍在本模型技能中执行。每次运行的覆盖配置不会改变模型元数据。
evaluateinferenceexportautoml_policyTraining Requirements
训练要求
- Dataset type: segmentation
- Formats: coco_panoptic, coco
- Monitoring metric: mIoU
- 数据集类型: 分割数据集
- 格式: coco_panoptic、coco
- 监控指标: mIoU
Per-Action Dataset Requirements
各操作的数据集要求
| Action | Spec Key | Source | Files | List? |
|---|---|---|---|---|
| evaluate | dataset.train.img_dir | train_datasets | images.tar.gz | No |
| evaluate | dataset.label_map | train_datasets | coco_panoptic: label_map_panoptic.json; *: label_map.json | No |
| evaluate | dataset.train.instance_json | train_datasets | annotations.json | No |
| evaluate | dataset.train.panoptic_json | train_datasets | annotations_panoptic.json | No |
| evaluate | dataset.train.panoptic_dir | train_datasets | images_panoptic.tar.gz | No |
| evaluate | dataset.val.img_dir | eval_dataset | images.tar.gz | No |
| evaluate | dataset.val.instance_json | eval_dataset | annotations.json | No |
| evaluate | dataset.val.panoptic_json | eval_dataset | annotations_panoptic.json | No |
| evaluate | dataset.val.panoptic_dir | eval_dataset | images_panoptic.tar.gz | No |
| evaluate | dataset.test.img_dir | eval_dataset | images.tar.gz | No |
| inference | dataset.train.img_dir | train_datasets | images.tar.gz | No |
| inference | dataset.label_map | train_datasets | coco_panoptic: label_map_panoptic.json; *: label_map.json | No |
| inference | dataset.train.instance_json | train_datasets | annotations.json | No |
| inference | dataset.train.panoptic_json | train_datasets | annotations_panoptic.json | No |
| inference | dataset.train.panoptic_dir | train_datasets | images_panoptic.tar.gz | No |
| inference | dataset.val.img_dir | eval_dataset | images.tar.gz | No |
| inference | dataset.val.instance_json | eval_dataset | annotations.json | No |
| inference | dataset.val.panoptic_json | eval_dataset | annotations_panoptic.json | No |
| inference | dataset.val.panoptic_dir | eval_dataset | images_panoptic.tar.gz | No |
| inference | dataset.test.img_dir | eval_dataset | images.tar.gz | No |
| quantize | dataset.train.img_dir | train_datasets | images.tar.gz | No |
| quantize | dataset.label_map | train_datasets | coco_panoptic: label_map_panoptic.json; *: label_map.json | No |
| quantize | dataset.train.instance_json | train_datasets | annotations.json | No |
| quantize | dataset.train.panoptic_json | train_datasets | annotations_panoptic.json | No |
| quantize | dataset.train.panoptic_dir | train_datasets | images_panoptic.tar.gz | No |
| quantize | dataset.val.img_dir | eval_dataset | images.tar.gz | No |
| quantize | dataset.val.instance_json | eval_dataset | annotations.json | No |
| quantize | dataset.val.panoptic_json | eval_dataset | annotations_panoptic.json | No |
| quantize | dataset.val.panoptic_dir | eval_dataset | images_panoptic.tar.gz | No |
| quantize | dataset.test.img_dir | eval_dataset | images.tar.gz | No |
| quantize | dataset.quant_calibration_dataset.images_dir | train_datasets | images.tar.gz | No |
| train | dataset.train.img_dir | train_datasets | images.tar.gz | No |
| train | dataset.label_map | train_datasets | coco_panoptic: label_map_panoptic.json; *: label_map.json | No |
| train | dataset.train.instance_json | train_datasets | annotations.json | No |
| train | dataset.train.panoptic_json | train_datasets | annotations_panoptic.json | No |
| train | dataset.train.panoptic_dir | train_datasets | images_panoptic.tar.gz | No |
| train | dataset.val.img_dir | eval_dataset | images.tar.gz | No |
| train | dataset.val.instance_json | eval_dataset | annotations.json | No |
| train | dataset.val.panoptic_json | eval_dataset | annotations_panoptic.json | No |
| train | dataset.val.panoptic_dir | eval_dataset | images_panoptic.tar.gz | No |
| train | dataset.test.img_dir | eval_dataset | images.tar.gz | No |
| 操作 | 配置键 | 来源 | 文件 | 是否为列表? |
|---|---|---|---|---|
| evaluate | dataset.train.img_dir | train_datasets | images.tar.gz | 否 |
| evaluate | dataset.label_map | train_datasets | coco_panoptic: label_map_panoptic.json; *: label_map.json | 否 |
| evaluate | dataset.train.instance_json | train_datasets | annotations.json | 否 |
| evaluate | dataset.train.panoptic_json | train_datasets | annotations_panoptic.json | 否 |
| evaluate | dataset.train.panoptic_dir | train_datasets | images_panoptic.tar.gz | 否 |
| evaluate | dataset.val.img_dir | eval_dataset | images.tar.gz | 否 |
| evaluate | dataset.val.instance_json | eval_dataset | annotations.json | 否 |
| evaluate | dataset.val.panoptic_json | eval_dataset | annotations_panoptic.json | 否 |
| evaluate | dataset.val.panoptic_dir | eval_dataset | images_panoptic.tar.gz | 否 |
| evaluate | dataset.test.img_dir | eval_dataset | images.tar.gz | 否 |
| inference | dataset.train.img_dir | train_datasets | images.tar.gz | 否 |
| inference | dataset.label_map | train_datasets | coco_panoptic: label_map_panoptic.json; *: label_map.json | 否 |
| inference | dataset.train.instance_json | train_datasets | annotations.json | 否 |
| inference | dataset.train.panoptic_json | train_datasets | annotations_panoptic.json | 否 |
| inference | dataset.train.panoptic_dir | train_datasets | images_panoptic.tar.gz | 否 |
| inference | dataset.val.img_dir | eval_dataset | images.tar.gz | 否 |
| inference | dataset.val.instance_json | eval_dataset | annotations.json | 否 |
| inference | dataset.val.panoptic_json | eval_dataset | annotations_panoptic.json | 否 |
| inference | dataset.val.panoptic_dir | eval_dataset | images_panoptic.tar.gz | 否 |
| inference | dataset.test.img_dir | eval_dataset | images.tar.gz | 否 |
| quantize | dataset.train.img_dir | train_datasets | images.tar.gz | 否 |
| quantize | dataset.label_map | train_datasets | coco_panoptic: label_map_panoptic.json; *: label_map.json | 否 |
| quantize | dataset.train.instance_json | train_datasets | annotations.json | 否 |
| quantize | dataset.train.panoptic_json | train_datasets | annotations_panoptic.json | 否 |
| quantize | dataset.train.panoptic_dir | train_datasets | images_panoptic.tar.gz | 否 |
| quantize | dataset.val.img_dir | eval_dataset | images.tar.gz | 否 |
| quantize | dataset.val.instance_json | eval_dataset | annotations.json | 否 |
| quantize | dataset.val.panoptic_json | eval_dataset | annotations_panoptic.json | 否 |
| quantize | dataset.val.panoptic_dir | eval_dataset | images_panoptic.tar.gz | 否 |
| quantize | dataset.test.img_dir | eval_dataset | images.tar.gz | 否 |
| quantize | dataset.quant_calibration_dataset.images_dir | train_datasets | images.tar.gz | 否 |
| train | dataset.train.img_dir | train_datasets | images.tar.gz | 否 |
| train | dataset.label_map | train_datasets | coco_panoptic: label_map_panoptic.json; *: label_map.json | 否 |
| train | dataset.train.instance_json | train_datasets | annotations.json | 否 |
| train | dataset.train.panoptic_json | train_datasets | annotations_panoptic.json | 否 |
| train | dataset.train.panoptic_dir | train_datasets | images_panoptic.tar.gz | 否 |
| train | dataset.val.img_dir | eval_dataset | images.tar.gz | 否 |
| train | dataset.val.instance_json | eval_dataset | annotations.json | 否 |
| train | dataset.val.panoptic_json | eval_dataset | annotations_panoptic.json | 否 |
| train | dataset.val.panoptic_dir | eval_dataset | images_panoptic.tar.gz | 否 |
| train | dataset.test.img_dir | eval_dataset | images.tar.gz | 否 |
Typical Spec Overrides
典型配置覆盖
Data source overrides are mandatory for every action — the agent MUST construct data source paths from the Per-Action Dataset Requirements table above and include them in .
spec_overridespython
S3_TRAIN = "s3://bucket/data/train"
S3_EVAL = "s3://bucket/data/eval"train (mandatory data sources):
python
{
"train.num_gpus": 1,
"train.num_epochs": 10,
"train.checkpoint_interval": 10,
"train.validation_interval": 10,
"model.sem_seg_head.num_classes": 90,
"dataset.contiguous_id": True,
"dataset.train.img_dir": f"{S3_TRAIN}/images.tar.gz",
"dataset.label_map": {"coco_panoptic": f"{S3_TRAIN}/label_map_panoptic.json; *: label_map.json"},
"dataset.train.instance_json": f"{S3_TRAIN}/annotations.json",
"dataset.train.panoptic_json": f"{S3_TRAIN}/annotations_panoptic.json",
"dataset.train.panoptic_dir": f"{S3_TRAIN}/images_panoptic.tar.gz",
"dataset.val.img_dir": f"{S3_EVAL}/images.tar.gz",
"dataset.val.instance_json": f"{S3_EVAL}/annotations.json",
"dataset.val.panoptic_json": f"{S3_EVAL}/annotations_panoptic.json",
"dataset.val.panoptic_dir": f"{S3_EVAL}/images_panoptic.tar.gz",
"dataset.test.img_dir": f"{S3_EVAL}/images.tar.gz",
}evaluate (mandatory data sources):
python
{
"model.sem_seg_head.num_classes": 90,
"dataset.contiguous_id": True,
"dataset.train.img_dir": f"{S3_TRAIN}/images.tar.gz",
"dataset.label_map": {"coco_panoptic": f"{S3_TRAIN}/label_map_panoptic.json; *: label_map.json"},
"dataset.train.instance_json": f"{S3_TRAIN}/annotations.json",
"dataset.train.panoptic_json": f"{S3_TRAIN}/annotations_panoptic.json",
"dataset.train.panoptic_dir": f"{S3_TRAIN}/images_panoptic.tar.gz",
"dataset.val.img_dir": f"{S3_EVAL}/images.tar.gz",
"dataset.val.instance_json": f"{S3_EVAL}/annotations.json",
"dataset.val.panoptic_json": f"{S3_EVAL}/annotations_panoptic.json",
"dataset.val.panoptic_dir": f"{S3_EVAL}/images_panoptic.tar.gz",
"dataset.test.img_dir": f"{S3_EVAL}/images.tar.gz",
}export:
python
{
"model.sem_seg_head.num_classes": 90,
}inference (mandatory data sources):
python
{
"model.sem_seg_head.num_classes": 90,
"dataset.contiguous_id": True,
"dataset.train.img_dir": f"{S3_TRAIN}/images.tar.gz",
"dataset.label_map": {"coco_panoptic": f"{S3_TRAIN}/label_map_panoptic.json; *: label_map.json"},
"dataset.train.instance_json": f"{S3_TRAIN}/annotations.json",
"dataset.train.panoptic_json": f"{S3_TRAIN}/annotations_panoptic.json",
"dataset.train.panoptic_dir": f"{S3_TRAIN}/images_panoptic.tar.gz",
"dataset.val.img_dir": f"{S3_EVAL}/images.tar.gz",
"dataset.val.instance_json": f"{S3_EVAL}/annotations.json",
"dataset.val.panoptic_json": f"{S3_EVAL}/annotations_panoptic.json",
"dataset.val.panoptic_dir": f"{S3_EVAL}/images_panoptic.tar.gz",
"dataset.test.img_dir": f"{S3_EVAL}/images.tar.gz",
}quantize (mandatory data sources):
python
{
"dataset.train.img_dir": f"{S3_TRAIN}/images.tar.gz",
"dataset.label_map": {"coco_panoptic": f"{S3_TRAIN}/label_map_panoptic.json; *: label_map.json"},
"dataset.train.instance_json": f"{S3_TRAIN}/annotations.json",
"dataset.train.panoptic_json": f"{S3_TRAIN}/annotations_panoptic.json",
"dataset.train.panoptic_dir": f"{S3_TRAIN}/images_panoptic.tar.gz",
"dataset.val.img_dir": f"{S3_EVAL}/images.tar.gz",
"dataset.val.instance_json": f"{S3_EVAL}/annotations.json",
"dataset.val.panoptic_json": f"{S3_EVAL}/annotations_panoptic.json",
"dataset.val.panoptic_dir": f"{S3_EVAL}/images_panoptic.tar.gz",
"dataset.test.img_dir": f"{S3_EVAL}/images.tar.gz",
"dataset.quant_calibration_dataset.images_dir": f"{S3_TRAIN}/images.tar.gz",
}数据源覆盖对每个操作都是必需的——智能体必须根据上述各操作的数据集要求表构建数据源路径,并将其包含在中。
spec_overridespython
S3_TRAIN = "s3://bucket/data/train"
S3_EVAL = "s3://bucket/data/eval"train(必需数据源):
python
{
"train.num_gpus": 1,
"train.num_epochs": 10,
"train.checkpoint_interval": 10,
"train.validation_interval": 10,
"model.sem_seg_head.num_classes": 90,
"dataset.contiguous_id": True,
"dataset.train.img_dir": f"{S3_TRAIN}/images.tar.gz",
"dataset.label_map": {"coco_panoptic": f"{S3_TRAIN}/label_map_panoptic.json; *: label_map.json"},
"dataset.train.instance_json": f"{S3_TRAIN}/annotations.json",
"dataset.train.panoptic_json": f"{S3_TRAIN}/annotations_panoptic.json",
"dataset.train.panoptic_dir": f"{S3_TRAIN}/images_panoptic.tar.gz",
"dataset.val.img_dir": f"{S3_EVAL}/images.tar.gz",
"dataset.val.instance_json": f"{S3_EVAL}/annotations.json",
"dataset.val.panoptic_json": f"{S3_EVAL}/annotations_panoptic.json",
"dataset.val.panoptic_dir": f"{S3_EVAL}/images_panoptic.tar.gz",
"dataset.test.img_dir": f"{S3_EVAL}/images.tar.gz",
}evaluate(必需数据源):
python
{
"model.sem_seg_head.num_classes": 90,
"dataset.contiguous_id": True,
"dataset.train.img_dir": f"{S3_TRAIN}/images.tar.gz",
"dataset.label_map": {"coco_panoptic": f"{S3_TRAIN}/label_map_panoptic.json; *: label_map.json"},
"dataset.train.instance_json": f"{S3_TRAIN}/annotations.json",
"dataset.train.panoptic_json": f"{S3_TRAIN}/annotations_panoptic.json",
"dataset.train.panoptic_dir": f"{S3_TRAIN}/images_panoptic.tar.gz",
"dataset.val.img_dir": f"{S3_EVAL}/images.tar.gz",
"dataset.val.instance_json": f"{S3_EVAL}/annotations.json",
"dataset.val.panoptic_json": f"{S3_EVAL}/annotations_panoptic.json",
"dataset.val.panoptic_dir": f"{S3_EVAL}/images_panoptic.tar.gz",
"dataset.test.img_dir": f"{S3_EVAL}/images.tar.gz",
}export:
python
{
"model.sem_seg_head.num_classes": 90,
}inference(必需数据源):
python
{
"model.sem_seg_head.num_classes": 90,
"dataset.contiguous_id": True,
"dataset.train.img_dir": f"{S3_TRAIN}/images.tar.gz",
"dataset.label_map": {"coco_panoptic": f"{S3_TRAIN}/label_map_panoptic.json; *: label_map.json"},
"dataset.train.instance_json": f"{S3_TRAIN}/annotations.json",
"dataset.train.panoptic_json": f"{S3_TRAIN}/annotations_panoptic.json",
"dataset.train.panoptic_dir": f"{S3_TRAIN}/images_panoptic.tar.gz",
"dataset.val.img_dir": f"{S3_EVAL}/images.tar.gz",
"dataset.val.instance_json": f"{S3_EVAL}/annotations.json",
"dataset.val.panoptic_json": f"{S3_EVAL}/annotations_panoptic.json",
"dataset.val.panoptic_dir": f"{S3_EVAL}/images_panoptic.tar.gz",
"dataset.test.img_dir": f"{S3_EVAL}/images.tar.gz",
}quantize(必需数据源):
python
{
"dataset.train.img_dir": f"{S3_TRAIN}/images.tar.gz",
"dataset.label_map": {"coco_panoptic": f"{S3_TRAIN}/label_map_panoptic.json; *: label_map.json"},
"dataset.train.instance_json": f"{S3_TRAIN}/annotations.json",
"dataset.train.panoptic_json": f"{S3_TRAIN}/annotations_panoptic.json",
"dataset.train.panoptic_dir": f"{S3_TRAIN}/images_panoptic.tar.gz",
"dataset.val.img_dir": f"{S3_EVAL}/images.tar.gz",
"dataset.val.instance_json": f"{S3_EVAL}/annotations.json",
"dataset.val.panoptic_json": f"{S3_EVAL}/annotations_panoptic.json",
"dataset.val.panoptic_dir": f"{S3_EVAL}/images_panoptic.tar.gz",
"dataset.test.img_dir": f"{S3_EVAL}/images.tar.gz",
"dataset.quant_calibration_dataset.images_dir": f"{S3_TRAIN}/images.tar.gz",
}Eval Dataset
评估数据集
Optional. Val data sources are part of the dataset config alongside train.
可选。验证数据源与训练数据源一同包含在数据集配置中。
Important Parameters
重要参数
- model.sem_seg_head.num_classes: Number of segmentation classes. Default 200. Must match your annotation categories.
- model.backbone.swin.type: Swin Transformer variant. Default tiny. Options include tiny, small, base, large.
- model.mode: Segmentation mode. Default panoptic. Options: panoptic, instance, semantic.
- train.optim.lr: Learning rate. Default 2e-4 (AdamW).
- dataset.train.batch_size: Per-GPU batch size. Default 1. Mask2Former is memory-intensive due to per-pixel predictions.
- model.sem_seg_head.num_classes:分割类别数量。默认值为200。必须与你的标注类别数量匹配。
- model.backbone.swin.type:Swin Transformer变体。默认值为tiny。选项包括tiny、small、base、large。
- model.mode:分割模式。默认值为panoptic。选项:panoptic、instance、semantic。
- train.optim.lr:学习率。默认值为2e-4(AdamW优化器)。
- dataset.train.batch_size:单GPU批次大小。默认值为1。由于Mask2Former需要逐像素预测,因此对内存要求较高。
Multi-GPU / Multi-Node
多GPU/多节点
Launch method: Lightning-managed (single process, Lightning spawns workers).
python| Spec Key | Description | Default |
|---|---|---|
| Number of GPUs | 1 |
| GPU device indices | [0] |
| Number of nodes | 1 |
| | |
- Same DDP/FSDP behavior as DINO (activation checkpoint aware)
- FAN backbones auto-enable
sync_batchnorm - forces FP16
fsdp
Multi-node env vars (set by orchestrator): , , , , .
WORLD_SIZENODE_RANKMASTER_ADDRMASTER_PORTNUM_GPU_PER_NODE启动方式: Lightning管理(单个进程,Lightning生成工作进程)。
python| 配置键 | 描述 | 默认值 |
|---|---|---|
| GPU数量 | 1 |
| GPU设备索引 | [0] |
| 节点数量 | 1 |
| | |
- 与DINO相同的DDP/FSDP行为(支持激活检查点)
- FAN骨干网络自动启用
sync_batchnorm - 强制使用FP16
fsdp
多节点环境变量(由编排器设置):、、、、。
WORLD_SIZENODE_RANKMASTER_ADDRMASTER_PORTNUM_GPU_PER_NODEExport / TRT Defaults
导出/TRT默认值
- TRT data types: FP32, FP16 only — INT8 is NOT supported
Full TAO Deploy reference: tao-deploy-mask2former.
- TRT数据类型:仅支持FP32、FP16 —— 不支持INT8
完整的TAO Deploy参考:tao-deploy-mask2former。
Hardware
硬件要求
Minimum 1 GPU(s), recommended 4 GPU(s). 24GB+ (A100 recommended) VRAM per GPU. Mask2Former is memory-heavy. batch_size=1 is the default for good reason. Multi-GPU recommended for reasonable training speed.
最少1块GPU,推荐4块GPU。每块GPU需24GB及以上显存(推荐A100)。Mask2Former内存占用较高。默认批次大小设为1是有原因的。推荐使用多GPU以保证合理的训练速度。
Error Patterns
错误模式
CUDA out of memory: batch_size is already 1 by default. Reduce image resolution in augmentation config or use a smaller Swin variant.
Panoptic vs instance format mismatch: Ensure you provide the correct annotation format matching model.mode setting.
CUDA内存不足:默认批次大小已经是1。可在增强配置中降低图像分辨率,或使用更小的Swin变体。
全景分割与实例分割格式不匹配:确保你提供的标注格式与model.mode设置一致。
Spec Param / Parent Model Inference
配置参数/父模型推理
Model-specific inference mappings belong in this MD file, not in . Generated runners should read this section and apply the mappings with SDK helpers before . This mirrors the old microservices flow.
config.jsoncreate_job()infer_params.pyInference mappings from TAO Core :
mask2former.config.json| Action | Spec Field | Inference Function | Meaning |
|---|---|---|---|
| evaluate | | | encryption key |
| evaluate | | | model file inferred from the parent job results folder |
| evaluate | | | model file inferred from the parent job results folder |
| evaluate | | | current job results directory |
| export | | | encryption key |
| export | | | model file inferred from the parent job results folder |
| export | | | output ONNX path |
| export | | | current job results directory |
| gen_trt_engine | | | encryption key |
| gen_trt_engine | | | model file inferred from the parent job results folder |
| gen_trt_engine | | | output TensorRT engine path |
| gen_trt_engine | | | current job results directory |
| inference | | | encryption key |
| inference | | | model file inferred from the parent job results folder |
| inference | | | model file inferred from the parent job results folder |
| inference | | | current job results directory |
| quantize | | | encryption key |
| quantize | | | model file inferred from the parent job results folder |
| quantize | | | current job results directory |
| train | | | encryption key |
| train | | | {'link': 'https://github.com/SwinTransformer/storage/releases/download/v1.0.8/swin_tiny_patch4_window7_224_22k.pth', 'destination_path': '/ptm/mask2former/swin_tiny_patch4_window7_224_22k/swin_tiny_patch4_window7_224_22k.pth'} |
| train | | | current job results directory |
| train | | | model file inferred from the current job results folder |
For or , pass the upstream train/export/AutoML child job id as . The SDK lists the parent result folder, filters checkpoint artifacts, and returns the selected model file or folder. Do not add these mappings back to and do not patch generated runner scripts to guess checkpoint paths.
parent_modelparent_model_folderparent_job_idconfig.json模型特定的推理映射应放在本MD文件中,而非。生成的运行器应读取本节内容,并在前使用SDK助手应用映射。这与旧微服务的流程一致。
config.jsoncreate_job()infer_params.py来自TAO Core 的推理映射:
mask2former.config.json| 操作 | 配置字段 | 推理函数 | 含义 |
|---|---|---|---|
| evaluate | | | 加密密钥 |
| evaluate | | | 从父作业结果文件夹推断出的模型文件 |
| evaluate | | | 从父作业结果文件夹推断出的模型文件 |
| evaluate | | | 当前作业结果目录 |
| export | | | 加密密钥 |
| export | | | 从父作业结果文件夹推断出的模型文件 |
| export | | | 输出ONNX路径 |
| export | | | 当前作业结果目录 |
| gen_trt_engine | | | 加密密钥 |
| gen_trt_engine | | | 从父作业结果文件夹推断出的模型文件 |
| gen_trt_engine | | | 输出TensorRT引擎路径 |
| gen_trt_engine | | | 当前作业结果目录 |
| inference | | | 加密密钥 |
| inference | | | 从父作业结果文件夹推断出的模型文件 |
| inference | | | 从父作业结果文件夹推断出的模型文件 |
| inference | | | 当前作业结果目录 |
| quantize | | | 加密密钥 |
| quantize | | | 从父作业结果文件夹推断出的模型文件 |
| quantize | | | 当前作业结果目录 |
| train | | | 加密密钥 |
| train | | | {'link': 'https://github.com/SwinTransformer/storage/releases/download/v1.0.8/swin_tiny_patch4_window7_224_22k.pth', 'destination_path': '/ptm/mask2former/swin_tiny_patch4_window7_224_22k/swin_tiny_patch4_window7_224_22k.pth'} |
| train | | | 当前作业结果目录 |
| train | | | 从当前作业结果文件夹推断出的模型文件 |
对于或,传入上游训练/导出/AutoML子作业ID作为。SDK会列出父结果文件夹,筛选检查点工件,并返回选定的模型文件或文件夹。不要将这些映射添加回,也不要修改生成的运行器脚本以猜测检查点路径。
parent_modelparent_model_folderparent_job_idconfig.json