[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71PZXD5CBZ80VT8AX3D5XV6":3,"skill-same:01M71PZXD5CBZ80VT8AX3D5XV6":152},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":51,"commitSha":52,"skillDirectory":53,"forksCount":14,"repositoryHtmlUrl":54,"repositoryHomepageUrl":55,"ownerHtmlUrl":56,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":57,"install":58,"resources":71},"01M71PZXD5CBZ80VT8AX3D5XV6","tao-train-mask-auto-encoder",null,"Masked Auto-Encoder (MAE) for self-supervised pretraining and fine-tuning. Masks random patches and reconstructs them to learn visual representations; supports pretrain and finetune stages. Use when training, evaluating, exporting, or running inference for a TAO MAE backbone. Trigger phrases include \"pretrain MAE\", \"self-supervised vision pretraining\", \"Masked Autoencoder\", \"Mask Auto-Encoder\", \"MAE fine-tune\".","pattanation\u002FNorvik","pattanation","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F235419268?v=4","01M71M5THHYYB15ME8R2E4FCZG","Patta","01M71M5TJM1NDM992M8PDKYR2K",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-encoder\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"auto","tao train mask auto encoder","tao","train","mask","trigger","docker","random","for","NVIDIA","running","vision","supervised","tuning","read","self","Bash","learn","when","training","2026-11-10 13:02:02",false,"---\nname: tao-train-mask-auto-encoder\ndescription: Masked Auto-Encoder (MAE) for self-supervised pretraining and fine-tuning. Masks random patches and reconstructs\n  them to learn visual representations; supports pretrain and finetune stages. Use when training, evaluating, exporting, or\n  running inference for a TAO MAE backbone. Trigger phrases include \"pretrain MAE\", \"self-supervised vision pretraining\",\n  \"Masked Autoencoder\", \"Mask Auto-Encoder\", \"MAE fine-tune\".\nlicense: Apache-2.0\ncompatibility: Requires docker + nvidia-container-toolkit.\nmetadata:\n  version: \"0.1.0\"\n  author: NVIDIA Corporation\nallowed-tools: Read Bash\ntags:\n- self\n- supervised\n- learning\n---\n\n# MAE\n\nMAE (Masked Autoencoder) for self-supervised pretraining and fine-tuning. Masks random patches and reconstructs them to learn visual representations. Supports pretrain and finetune stages.\n\nSet train.pretrained_model_path for pretrained MAE weights when fine-tuning.\n\nFor TAO Deploy TensorRT actions (`gen_trt_engine`), read `references\u002Ftao-deploy-mask-auto-encoder.md` first. Deploy spec templates live in this skill's `references\u002F` folder with the `spec_template_deploy_*.yaml` prefix.\n\nThe parent PyTorch `mae` CLI supports `train`, `evaluate`, `inference`, and\n`export`. Build TensorRT engines through the deploy workflow, not the model skill.\n\n## Dataclass Schemas\n\nGenerated TAO Core schemas are packaged in `schemas\u002F\u003Caction>.schema.json`, with `schemas\u002Fmanifest.json` listing available actions. Each generated schema also emits `references\u002Fspec_template_\u003Caction>.yaml` from the schema top-level `default` field. AutoML enablement is declared at the model layer in `references\u002Fskill_info.yaml` via `automl_enabled`. Runnable AutoML still requires `schemas\u002Ftrain.schema.json` and `references\u002Fspec_template_train.yaml` to exist and parse. Use the packaged train schema for `automl_default_parameters`, `automl_disabled_parameters`, defaults, min\u002Fmax bounds, enums, option weights, math conditions, dependencies, and popular parameters. Do not expect `~\u002Ftao-core` at runtime; maintainers regenerate schemas\u002Ftemplates before packaging the skill bank.\n\n## Train Action Policy\n\nThis model is AutoML-enabled at the model layer. Before handling any train-stage request, read `references\u002Fskill_info.yaml` and resolve the run override from either an explicit `automl_policy` value or the user's workflow request. Use `automl_policy: on` by default and only expose `on` \u002F `off` in new launch prompts. Treat phrases like \"turn off AutoML\", \"disable AutoML\", \"no HPO\", or \"plain training\" as `automl_policy: off` for this run only. When `automl_policy: on`, `automl_enabled: true`, and both `schemas\u002Ftrain.schema.json` and `references\u002Fspec_template_train.yaml` are packaged, route the train action through `tao-skill-bank:tao-run-automl` by default with this model's `skill_dir`. Preserve workflow\u002Fapplication overrides for datasets, specs, output directories, GPU\u002Fplatform settings, parent checkpoints, and `automl_policy`. Use direct model training only when `automl_policy: off` or the packaged train schema\u002Ftemplate is missing; in the missing-schema case, report that AutoML is enabled but not runnable for this model until schemas are generated.\n\nNon-train actions such as `evaluate`, `inference`, `export`, and deploy flows stay in this model skill. The per-run `automl_policy` override does not change model metadata.\n\n## Training Requirements\n\n- **Dataset type:** image_classification\n- **Formats:** ssl\n- **Accepted dataset intents:** training, evaluation, testing\n- **Monitoring metric:** train_loss\n\n### Per-Action Dataset Requirements\n\n| Action | Spec Key | Source | Files | List? |\n|---|---|---|---|---|\n| train | dataset.train_data_sources | train_datasets | images_train.tar.gz | No |\n| train | dataset.val_data_sources | eval_dataset | images_val.tar.gz | No |\n| evaluate | dataset.val_data_sources | eval_dataset | images_val.tar.gz | No |\n| inference | dataset.test_data_sources | inference_dataset | images_test.tar.gz | No |\n\nFor SDK\u002Fapp job inputs, the `images_*.tar.gz` archives are uploaded as the\naction inputs. For direct local Docker runs against host-mounted data, extract\nthe archives first and point `dataset.train_data_sources`,\n`dataset.val_data_sources`, and `dataset.test_data_sources` at the extracted\n`images_train`, `images_val`, and `images_test` folders. Passing a local tar\npath directly to the MAE CLI can produce a zero-sample dataloader because the\nlocal dataloader does not unpack that archive path.\n\n### Typical Spec Overrides\n\nData 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_overrides`.\n\n```python\nS3_TRAIN = \"s3:\u002F\u002Fbucket\u002Fdata\u002Ftrain\"\nS3_EVAL = \"s3:\u002F\u002Fbucket\u002Fdata\u002Feval\"\n```\n\n**train (mandatory data sources):**\n```python\n{\n    \"dataset.train_data_sources\": f\"{S3_TRAIN}\u002Fimages_train.tar.gz\",\n    \"dataset.val_data_sources\": f\"{S3_EVAL}\u002Fimages_val.tar.gz\",\n    \"train.num_epochs\": 10,\n    \"train.optim.lr\": 2e-4,\n}\n```\n\n**evaluate (mandatory data sources):**\n```python\n{\n    \"dataset.val_data_sources\": f\"{S3_EVAL}\u002Fimages_val.tar.gz\",\n    \"evaluate.checkpoint\": \"\u003Cselected train\u002FAutoML checkpoint>\",\n    \"train.stage\": \"finetune\",\n}\n```\n\n**inference (mandatory data sources):**\n```python\n{\n    \"dataset.test_data_sources\": f\"{S3_EVAL}\u002Fimages_test.tar.gz\",\n    \"inference.checkpoint\": \"\u003Cselected train\u002FAutoML checkpoint>\",\n    \"train.stage\": \"finetune\",\n}\n```\n\n## Eval Dataset\n\nOptional. Pretraining does not need eval data. Fine-tuning optionally uses val set.\n\n## Important Parameters\n\n- **train.stage**: Training stage. Options: pretrain, finetune. Pretrain learns representations via masking. Finetune adds a classification head.\n- **model.arch**: Architecture. Default convnextv2_base. For local smoke\n  AutoML, use `convnextv2_atto` rather than unsupported names such as\n  `vit_tiny_patch16`. Supported families include `vit_base_patch16` and larger\n  ViTs, ConvNeXtV2 atto\u002Ffemto\u002Fpico\u002Fnano\u002Ftiny\u002Fbase\u002Flarge\u002Fhuge, and Hiera\n  tiny\u002Fsmall\u002Fbase\u002Flarge\u002Fhuge.\n- **model.num_classes**: Number of classes for fine-tuning. Default 1000 (ImageNet). Only relevant in finetune stage.\n- **model.mask_ratio**: Fraction of patches to mask during pretraining. Typically 0.75.\n- **model.norm_pix_loss**: Whether to normalize pixel values in reconstruction loss.\n- **dataset.augmentation.input_size**: Keep the local smoke profile at 224\n  for ConvNeXtV2 MAE. Reducing to 112 can make the MAE mask grid incompatible\n  with feature-map dimensions.\n- MAE does not expose a `dataset.workers` spec field. Do not add it to\n  smoke-test overrides; Hydra rejects unknown dataset keys before training.\n- **train.optim.lr**: Learning rate. Default 2e-4.\n- **dataset.augmentation**: Augmentation settings including mixup, cutmix for fine-tuning.\n\n## Multi-GPU \u002F Multi-Node\n\n**Launch method:** Lightning-managed (single `python` process, Lightning spawns workers).\n\n| Spec Key | Description | Default |\n|----------|-------------|---------|\n| `train.num_gpus` | Number of GPUs | 1 |\n| `train.gpu_ids` | GPU device indices | [0] |\n| `train.num_nodes` | Number of nodes | 1 |\n| `train.distributed_strategy` | `ddp` or `fsdp` | `ddp` |\n\n- `ddp` uses `find_unused_parameters=True`\n- `fsdp` forces FP16\n- Multi-GPU strongly recommended for pretraining (large batch sizes needed)\n\n**Multi-node env vars** (set by orchestrator): `WORLD_SIZE`, `NODE_RANK`, `MASTER_ADDR`, `MASTER_PORT`, `NUM_GPU_PER_NODE`.\n\n## Hardware\n\nMinimum 2 GPU(s), recommended 8 GPU(s). 24GB+ (A100 recommended) VRAM per GPU. MAE pretraining benefits from large batch sizes across many GPUs. Fine-tuning is more modest in resource requirements.\n\n## Error Patterns\n\n**Stage mismatch**: Ensure train.stage matches your intent (pretrain vs finetune). Fine-tuning without a pretrained_model_path trains from scratch.\n\n**Inference with pretrain checkpoints**: The MAE predict dataloader raises\n`NotImplementedError` for `train.stage: pretrain`. Use a `finetune` checkpoint\nfor inference and classification-style evaluation, or restrict a pretrain-only\nrun to train\u002Fevaluate\u002Fexport.\n\n**num_classes mismatch (finetune only)**: Ensure model.num_classes matches your dataset class count when fine-tuning.\n\n## Spec Param \u002F Parent Model Inference\n\nModel-specific inference mappings belong in this MD file, not in `config.json`. Generated runners should read this section and apply the mappings with SDK helpers before `create_job()`. This mirrors the old microservices `infer_params.py` flow.\n\nInference mappings from TAO Core `mae.config.json`:\n\n| Action | Spec Field | Inference Function | Meaning |\n|---|---|---|---|\n| evaluate | `encryption_key` | `key` | encryption key |\n| evaluate | `evaluate.checkpoint` | `parent_model` | model file inferred from the parent job results folder |\n| evaluate | `evaluate.trt_engine` | `parent_model` | model file inferred from the parent job results folder |\n| evaluate | `results_dir` | `output_dir` | current job results directory |\n| export | `encryption_key` | `key` | encryption key |\n| export | `export.checkpoint` | `parent_model` | model file inferred from the parent job results folder |\n| export | `export.onnx_file` | `create_onnx_file` | output ONNX path |\n| export | `results_dir` | `output_dir` | current job results directory |\n| inference | `encryption_key` | `key` | encryption key |\n| inference | `inference.checkpoint` | `parent_model` | model file inferred from the parent job results folder |\n| inference | `inference.trt_engine` | `parent_model` | model file inferred from the parent job results folder |\n| inference | `results_dir` | `output_dir` | current job results directory |\n| train | `encryption_key` | `key` | encryption key |\n| train | `results_dir` | `output_dir` | current job results directory |\n| train | `train.pretrained_model_path` | `ptm_if_no_resume_model` | PTM when no resume checkpoint exists |\n| train | `train.resume_training_checkpoint_path` | `resume_model` | model file inferred from the current job results folder |\n\nFor `parent_model` or `parent_model_folder`, pass the upstream train\u002Fexport\u002FAutoML child job id as `parent_job_id`. 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 `config.json` and do not patch generated runner scripts to guess checkpoint paths.\n\nWhen resolving checkpoints outside the SDK resolver, select the intended\nepoch\u002Fstep artifact exactly, for example `model_epoch_000_step_00099.pth`.\nUse the `convnextv2_atto_latest.pth` or other latest symlink only when latest\nis explicitly requested. Carry `train.stage`, `model.arch`, `model.num_classes`,\nand export input size forward into evaluate, inference, export, and deploy\nspecs so the checkpoint and ONNX\u002Fengine shapes match.\n\n## Deployment\n\n- [tao-deploy-mask-auto-encoder](references\u002Ftao-deploy-mask-auto-encoder.md)\n","# MAE\n\nMAE (Masked Autoencoder) for self-supervised pretraining and fine-tuning. Masks random patches and reconstructs them to learn visual representations. Supports pretrain and finetune stages.\n\nSet train.pretrained_model_path for pretrained MAE weights when fine-tuning.\n\nFor TAO Deploy TensorRT actions (`gen_trt_engine`), read `references\u002Ftao-deploy-mask-auto-encoder.md` first. Deploy spec templates live in this skill's `references\u002F` folder with the `spec_template_deploy_*.yaml` prefix.\n\nThe parent PyTorch `mae` CLI supports `train`, `evaluate`, `inference`, and\n`export`. Build TensorRT engines through the deploy workflow, not the model skill.\n\n## Dataclass Schemas\n\nGenerated TAO Core schemas are packaged in `schemas\u002F\u003Caction>.schema.json`, with `schemas\u002Fmanifest.json` listing available actions. Each generated schema also emits `references\u002Fspec_template_\u003Caction>.yaml` from the schema top-level `default` field. AutoML enablement is declared at the model layer in `references\u002Fskill_info.yaml` via `automl_enabled`. Runnable AutoML still requires `schemas\u002Ftrain.schema.json` and `references\u002Fspec_template_train.yaml` to exist and parse. Use the packaged train schema for `automl_default_parameters`, `automl_disabled_parameters`, defaults, min\u002Fmax bounds, enums, option weights, math conditions, dependencies, and popular parameters. Do not expect `~\u002Ftao-core` at runtime; maintainers regenerate schemas\u002Ftemplates before packaging the skill bank.\n\n## Train Action Policy\n\nThis model is AutoML-enabled at the model layer. Before handling any train-stage request, read `references\u002Fskill_info.yaml` and resolve the run override from either an explicit `automl_policy` value or the user's workflow request. Use `automl_policy: on` by default and only expose `on` \u002F `off` in new launch prompts. Treat phrases like \"turn off AutoML\", \"disable AutoML\", \"no HPO\", or \"plain training\" as `automl_policy: off` for this run only. When `automl_policy: on`, `automl_enabled: true`, and both `schemas\u002Ftrain.schema.json` and `references\u002Fspec_template_train.yaml` are packaged, route the train action through `tao-skill-bank:tao-run-automl` by default with this model's `skill_dir`. Preserve workflow\u002Fapplication overrides for datasets, specs, output directories, GPU\u002Fplatform settings, parent checkpoints, and `automl_policy`. Use direct model training only when `automl_policy: off` or the packaged train schema\u002Ftemplate is missing; in the missing-schema case, report that AutoML is enabled but not runnable for this model until schemas are generated.\n\nNon-train actions such as `evaluate`, `inference`, `export`, and deploy flows stay in this model skill. The per-run `automl_policy` override does not change model metadata.\n\n## Training Requirements\n\n- **Dataset type:** image_classification\n- **Formats:** ssl\n- **Accepted dataset intents:** training, evaluation, testing\n- **Monitoring metric:** train_loss\n\n### Per-Action Dataset Requirements\n\n| Action | Spec Key | Source | Files | List? |\n|---|---|---|---|---|\n| train | dataset.train_data_sources | train_datasets | images_train.tar.gz | No |\n| train | dataset.val_data_sources | eval_dataset | images_val.tar.gz | No |\n| evaluate | dataset.val_data_sources | eval_dataset | images_val.tar.gz | No |\n| inference | dataset.test_data_sources | inference_dataset | images_test.tar.gz | No |\n\nFor SDK\u002Fapp job inputs, the `images_*.tar.gz` archives are uploaded as the\naction inputs. For direct local Docker runs against host-mounted data, extract\nthe archives first and point `dataset.train_data_sources`,\n`dataset.val_data_sources`, and `dataset.test_data_sources` at the extracted\n`images_train`, `images_val`, and `images_test` folders. Passing a local tar\npath directly to the MAE CLI can produce a zero-sample dataloader because the\nlocal dataloader does not unpack that archive path.\n\n### Typical Spec Overrides\n\nData 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_overrides`.\n\n```python\nS3_TRAIN = \"s3:\u002F\u002Fbucket\u002Fdata\u002Ftrain\"\nS3_EVAL = \"s3:\u002F\u002Fbucket\u002Fdata\u002Feval\"\n```\n\n**train (mandatory data sources):**\n```python\n{\n    \"dataset.train_data_sources\": f\"{S3_TRAIN}\u002Fimages_train.tar.gz\",\n    \"dataset.val_data_sources\": f\"{S3_EVAL}\u002Fimages_val.tar.gz\",\n    \"train.num_epochs\": 10,\n    \"train.optim.lr\": 2e-4,\n}\n```\n\n**evaluate (mandatory data sources):**\n```python\n{\n    \"dataset.val_data_sources\": f\"{S3_EVAL}\u002Fimages_val.tar.gz\",\n    \"evaluate.checkpoint\": \"\u003Cselected train\u002FAutoML checkpoint>\",\n    \"train.stage\": \"finetune\",\n}\n```\n\n**inference (mandatory data sources):**\n```python\n{\n    \"dataset.test_data_sources\": f\"{S3_EVAL}\u002Fimages_test.tar.gz\",\n    \"inference.checkpoint\": \"\u003Cselected train\u002FAutoML checkpoint>\",\n    \"train.stage\": \"finetune\",\n}\n```\n\n## Eval Dataset\n\nOptional. Pretraining does not need eval data. Fine-tuning optionally uses val set.\n\n## Important Parameters\n\n- **train.stage**: Training stage. Options: pretrain, finetune. Pretrain learns representations via masking. Finetune adds a classification head.\n- **model.arch**: Architecture. Default convnextv2_base. For local smoke\n  AutoML, use `convnextv2_atto` rather than unsupported names such as\n  `vit_tiny_patch16`. Supported families include `vit_base_patch16` and larger\n  ViTs, ConvNeXtV2 atto\u002Ffemto\u002Fpico\u002Fnano\u002Ftiny\u002Fbase\u002Flarge\u002Fhuge, and Hiera\n  tiny\u002Fsmall\u002Fbase\u002Flarge\u002Fhuge.\n- **model.num_classes**: Number of classes for fine-tuning. Default 1000 (ImageNet). Only relevant in finetune stage.\n- **model.mask_ratio**: Fraction of patches to mask during pretraining. Typically 0.75.\n- **model.norm_pix_loss**: Whether to normalize pixel values in reconstruction loss.\n- **dataset.augmentation.input_size**: Keep the local smoke profile at 224\n  for ConvNeXtV2 MAE. Reducing to 112 can make the MAE mask grid incompatible\n  with feature-map dimensions.\n- MAE does not expose a `dataset.workers` spec field. Do not add it to\n  smoke-test overrides; Hydra rejects unknown dataset keys before training.\n- **train.optim.lr**: Learning rate. Default 2e-4.\n- **dataset.augmentation**: Augmentation settings including mixup, cutmix for fine-tuning.\n\n## Multi-GPU \u002F Multi-Node\n\n**Launch method:** Lightning-managed (single `python` process, Lightning spawns workers).\n\n| Spec Key | Description | Default |\n|----------|-------------|---------|\n| `train.num_gpus` | Number of GPUs | 1 |\n| `train.gpu_ids` | GPU device indices | [0] |\n| `train.num_nodes` | Number of nodes | 1 |\n| `train.distributed_strategy` | `ddp` or `fsdp` | `ddp` |\n\n- `ddp` uses `find_unused_parameters=True`\n- `fsdp` forces FP16\n- Multi-GPU strongly recommended for pretraining (large batch sizes needed)\n\n**Multi-node env vars** (set by orchestrator): `WORLD_SIZE`, `NODE_RANK`, `MASTER_ADDR`, `MASTER_PORT`, `NUM_GPU_PER_NODE`.\n\n## Hardware\n\nMinimum 2 GPU(s), recommended 8 GPU(s). 24GB+ (A100 recommended) VRAM per GPU. MAE pretraining benefits from large batch sizes across many GPUs. Fine-tuning is more modest in resource requirements.\n\n## Error Patterns\n\n**Stage mismatch**: Ensure train.stage matches your intent (pretrain vs finetune). Fine-tuning without a pretrained_model_path trains from scratch.\n\n**Inference with pretrain checkpoints**: The MAE predict dataloader raises\n`NotImplementedError` for `train.stage: pretrain`. Use a `finetune` checkpoint\nfor inference and classification-style evaluation, or restrict a pretrain-only\nrun to train\u002Fevaluate\u002Fexport.\n\n**num_classes mismatch (finetune only)**: Ensure model.num_classes matches your dataset class count when fine-tuning.\n\n## Spec Param \u002F Parent Model Inference\n\nModel-specific inference mappings belong in this MD file, not in `config.json`. Generated runners should read this section and apply the mappings with SDK helpers before `create_job()`. This mirrors the old microservices `infer_params.py` flow.\n\nInference mappings from TAO Core `mae.config.json`:\n\n| Action | Spec Field | Inference Function | Meaning |\n|---|---|---|---|\n| evaluate | `encryption_key` | `key` | encryption key |\n| evaluate | `evaluate.checkpoint` | `parent_model` | model file inferred from the parent job results folder |\n| evaluate | `evaluate.trt_engine` | `parent_model` | model file inferred from the parent job results folder |\n| evaluate | `results_dir` | `output_dir` | current job results directory |\n| export | `encryption_key` | `key` | encryption key |\n| export | `export.checkpoint` | `parent_model` | model file inferred from the parent job results folder |\n| export | `export.onnx_file` | `create_onnx_file` | output ONNX path |\n| export | `results_dir` | `output_dir` | current job results directory |\n| inference | `encryption_key` | `key` | encryption key |\n| inference | `inference.checkpoint` | `parent_model` | model file inferred from the parent job results folder |\n| inference | `inference.trt_engine` | `parent_model` | model file inferred from the parent job results folder |\n| inference | `results_dir` | `output_dir` | current job results directory |\n| train | `encryption_key` | `key` | encryption key |\n| train | `results_dir` | `output_dir` | current job results directory |\n| train | `train.pretrained_model_path` | `ptm_if_no_resume_model` | PTM when no resume checkpoint exists |\n| train | `train.resume_training_checkpoint_path` | `resume_model` | model file inferred from the current job results folder |\n\nFor `parent_model` or `parent_model_folder`, pass the upstream train\u002Fexport\u002FAutoML child job id as `parent_job_id`. 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 `config.json` and do not patch generated runner scripts to guess checkpoint paths.\n\nWhen resolving checkpoints outside the SDK resolver, select the intended\nepoch\u002Fstep artifact exactly, for example `model_epoch_000_step_00099.pth`.\nUse the `convnextv2_atto_latest.pth` or other latest symlink only when latest\nis explicitly requested. Carry `train.stage`, `model.arch`, `model.num_classes`,\nand export input size forward into evaluate, inference, export, and deploy\nspecs so the checkpoint and ONNX\u002Fengine shapes match.\n\n## Deployment\n\n- [tao-deploy-mask-auto-encoder](references\u002Ftao-deploy-mask-auto-encoder.md)\n",{"name":5,"tags":44,"license":15,"metadata":46,"description":7,"allowed-tools":49,"compatibility":50},[34,31,45],"learning",{"author":47,"version":48},"NVIDIA Corporation","0.1.0","Read Bash","Requires docker + nvidia-container-toolkit.","claude\u002Finstall-gsd-build-foQdV","d86cd127f527124b5fd0fd0bc679a4d79b7d01d7",".agents\u002Fskills\u002Ftao-train-mask-auto-encoder","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik","https:\u002F\u002Fnorvik-orpin.vercel.app","https:\u002F\u002Fgithub.com\u002Fpattanation","2026-07-17 11:17:04",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":70},[60,63,66],{"tool":61,"command":62},"npx","npx skills add pattanation\u002FNorvik --skill tao-train-mask-auto-encoder",{"tool":64,"command":65},"bunx","bunx skills add pattanation\u002FNorvik --skill tao-train-mask-auto-encoder",{"tool":67,"command":68},"pnpm","pnpm dlx skills add pattanation\u002FNorvik --skill tao-train-mask-auto-encoder","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-encoder\u002FSKILL.md",true,[72,78,82,86,90,94,98,102,106,110,114,118,122,126,130,134,138,142,146],{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"BENCHMARK.md","REFERENCE","参考文档",4128,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-encoder\u002FBENCHMARK.md",{"path":79,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":80,"sourceHtmlUrl":81},"evals\u002Fevals.json",846,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-encoder\u002Fevals\u002Fevals.json",{"path":83,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":84,"sourceHtmlUrl":85},"references\u002Fskill_info.yaml",3302,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-encoder\u002Freferences\u002Fskill_info.yaml",{"path":87,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":88,"sourceHtmlUrl":89},"references\u002Fspec_template_deploy_gen_trt_engine.yaml",750,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-encoder\u002Freferences\u002Fspec_template_deploy_gen_trt_engine.yaml",{"path":91,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":92,"sourceHtmlUrl":93},"references\u002Fspec_template_evaluate.yaml",1752,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-encoder\u002Freferences\u002Fspec_template_evaluate.yaml",{"path":95,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":96,"sourceHtmlUrl":97},"references\u002Fspec_template_export.yaml",1842,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-encoder\u002Freferences\u002Fspec_template_export.yaml",{"path":99,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":100,"sourceHtmlUrl":101},"references\u002Fspec_template_gen_trt_engine.yaml",1913,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-encoder\u002Freferences\u002Fspec_template_gen_trt_engine.yaml",{"path":103,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":104,"sourceHtmlUrl":105},"references\u002Fspec_template_inference.yaml",1777,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-encoder\u002Freferences\u002Fspec_template_inference.yaml",{"path":107,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":108,"sourceHtmlUrl":109},"references\u002Fspec_template_train.yaml",1626,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-encoder\u002Freferences\u002Fspec_template_train.yaml",{"path":111,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":112,"sourceHtmlUrl":113},"references\u002Ftao-deploy-mask-auto-encoder.md",3271,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-encoder\u002Freferences\u002Ftao-deploy-mask-auto-encoder.md",{"path":115,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":116,"sourceHtmlUrl":117},"references\u002Ftao-deploy-mask-auto-encoder.skill_info.yaml",1165,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-encoder\u002Freferences\u002Ftao-deploy-mask-auto-encoder.skill_info.yaml",{"path":119,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":120,"sourceHtmlUrl":121},"schemas\u002Fevaluate.schema.json",29775,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-encoder\u002Fschemas\u002Fevaluate.schema.json",{"path":123,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":124,"sourceHtmlUrl":125},"schemas\u002Fexport.schema.json",30686,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-encoder\u002Fschemas\u002Fexport.schema.json",{"path":127,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":128,"sourceHtmlUrl":129},"schemas\u002Fgen_trt_engine.schema.json",32596,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-encoder\u002Fschemas\u002Fgen_trt_engine.schema.json",{"path":131,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":132,"sourceHtmlUrl":133},"schemas\u002Finference.schema.json",29776,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-encoder\u002Fschemas\u002Finference.schema.json",{"path":135,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":136,"sourceHtmlUrl":137},"schemas\u002Fmanifest.json",7856,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-encoder\u002Fschemas\u002Fmanifest.json",{"path":139,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":140,"sourceHtmlUrl":141},"schemas\u002Ftrain.schema.json",27204,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-encoder\u002Fschemas\u002Ftrain.schema.json",{"path":143,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":144,"sourceHtmlUrl":145},"skill-card.md",3917,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-encoder\u002Fskill-card.md",{"path":147,"resourceType":148,"resourceTypeDesc":149,"sizeBytes":150,"sourceHtmlUrl":151},"skill.oms.sig","OTHER","其他",8365,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Ftao-train-mask-auto-encoder\u002Fskill.oms.sig",[153,185,211,235,257,272],{"skillNo":154,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":157,"sourceHtmlUrl":158,"categories":159,"keywords":168,"publishedAt":39},"01M71QDV4DM8T19HEHWATEF1K4","webapp-testing","Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fwebapp-testing\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fwebapp-testing\u002FSKILL.md",[160,165],{"categoryNo":161,"categoryName":162,"taxonomyType":163,"taxonomyTypeDesc":164},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":166,"categoryName":167,"taxonomyType":163,"taxonomyTypeDesc":164},"01JBSEEDCAT000000000000009","前端开发",[169,170,171,27,172,173,174,175,176,177,178,179,180,181,182,183,184],"webapp","testing","webapp testing","applications","local","frontend","debugging","toolkit","logs","browser","with","playwright","web","behavior","ui","screenshots",{"skillNo":186,"name":187,"nameZh":6,"description":188,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":189,"sourceHtmlUrl":190,"categories":191,"keywords":193,"publishedAt":39},"01M71QDH2GGMXGA9105C9W1N7B","web-artifacts-builder","Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn\u002Fui). Use for complex artifacts requiring state management, routing, or shadcn\u002Fui components - not for simple single-file HTML\u002FJSX artifacts.","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fweb-artifacts-builder\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fweb-artifacts-builder\u002FSKILL.md",[192],{"categoryNo":166,"categoryName":167,"taxonomyType":163,"taxonomyTypeDesc":164},[194,195,196,181,197,198,199,27,200,201,174,202,203,204,205,206,207,208,209,210],"builder","artifacts builder","artifacts","web artifacts builder","single-file","css","Tailwind","ui components","single","use","file","components","react","multi","state","routing","state management",{"skillNo":212,"name":213,"nameZh":6,"description":214,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":215,"licenseFileUrl":216,"sourceHtmlUrl":217,"categories":218,"keywords":220,"publishedAt":39},"01M71QD9T2XC3EWMQNN9ACNWQ1","vueuse-functions","Apply VueUse composables where appropriate to build concise, maintainable Vue.js \u002F Nuxt features.","MIT","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fvueuse-functions\u002FLICENSE.md","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fvueuse-functions\u002FSKILL.md",[219],{"categoryNo":166,"categoryName":167,"taxonomyType":163,"taxonomyTypeDesc":164},[221,222,223,224,225,226,227,228,229,230,231,232,233,234],"functions","vueuse","vueuse functions","project","nuxt","apply","github","concise","build","https","features","vue","js","composables",{"skillNo":236,"name":237,"nameZh":6,"description":238,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":215,"licenseFileUrl":239,"sourceHtmlUrl":240,"categories":241,"keywords":244,"publishedAt":39},"01M71QD51HWSGYMCMB7RW7PGK8","vue-testing-best-practices","Use for Vue.js testing. Covers Vitest, Vue Test Utils, component testing, mocking, testing patterns, and Playwright for E2E testing.","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fvue-testing-best-practices\u002FLICENSE.md","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fvue-testing-best-practices\u002FSKILL.md",[242,243],{"categoryNo":161,"categoryName":162,"taxonomyType":163,"taxonomyTypeDesc":164},{"categoryNo":166,"categoryName":167,"taxonomyType":163,"taxonomyTypeDesc":164},[245,170,246,232,247,180,248,249,250,227,251,27,252,253,254,203,255,233,256],"vue testing best practices","testing best practices","best practices","test","testing patterns","component","vitest","mocking","e2e","utils","patterns","e2e testing",{"skillNo":258,"name":259,"nameZh":6,"description":260,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":215,"licenseFileUrl":261,"sourceHtmlUrl":262,"categories":263,"keywords":265,"publishedAt":39},"01M71QD358H2DJ9THJRBP77T3T","vue-router-best-practices","Vue Router 4 patterns, navigation guards, route params, and route-component lifecycle interactions.","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fvue-router-best-practices\u002FLICENSE.md","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fvue-router-best-practices\u002FSKILL.md",[264],{"categoryNo":166,"categoryName":167,"taxonomyType":163,"taxonomyTypeDesc":164},[266,232,267,247,268,250,269,227,255,270,271],"router","vue router best practices","route","guards","navigation","lifecycle",{"skillNo":273,"name":274,"nameZh":6,"description":275,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":215,"licenseFileUrl":276,"sourceHtmlUrl":277,"categories":278,"keywords":280,"publishedAt":39},"01M71QCYPNWDE2MQZ1TF3ED5S4","vue-best-practices","MUST be used for Vue.js tasks. Strongly recommends Composition API with `\u003Cscript setup>` and TypeScript as the standard approach. Covers Vue 3, SSR, Volar, vue-tsc. Load for any Vue, .vue files, Vue Router, Pinia, or Vite with Vue work. ALWAYS use Composition API unless the project explicitly requires Options API.","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fvue-best-practices\u002FLICENSE.md","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fvue-best-practices\u002FSKILL.md",[279],{"categoryNo":166,"categoryName":167,"taxonomyType":163,"taxonomyTypeDesc":164},[281,232,247,282,224,283,284,285,266,286,287,288,289,290,291,27,292,203,293,294],"vue best practices","Composition","files","tasks","api","pinia","work","options","ssr","typescript","as","vite","load","standard"]