# tao-train-visual-changenet

A skill that walks an agent through training, evaluating and exporting TAO Toolkit's Visual ChangeNet for PCB defect detection.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1600 installs · ★ 3735
- Author: NVIDIA Corporation
- License: Apache-2.0 · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/NVIDIA/skills/tree/HEAD/skills/tao-train-visual-changenet/SKILL.md
- Updated: 2026-10-23
- HTML: https://affpapa.org/en/nevibecode/skills/tao-train-visual-changenet

## What it does

This skill covers the Visual ChangeNet model from TAO Toolkit. Two tasks are supported. Classify compares an image pair and returns PASS/NO_PASS using a siamese setup: a shared C-RADIO ViT backbone plus a learnable difference module. Segment works at pixel level with a ViT-Large NVDINOv2 backbone and outputs a binary change mask.

What ships inside: generated dataclass schemas under `schemas/<action>.schema.json`, a `schemas/manifest.json` action list, and spec templates named `references/spec_template_<action>.yaml`. Classify accepts the public C-RADIOv2-B backbone and six frozen DINOv3 variants; read `references/dinov3-backbones.md` before picking a DINOv3 one. C-RADIO staging goes through `scripts/stage_backbone.py` with the mount described in `references/local-docker.md`. Keep the checkpoint architecture matched to the backbone type: `NV_DINOV2_518_16_256.ckpt` works with the packaged segment templates, and pairing it with `fan_small_12_p4_hybrid` will not work.

Docker and nvidia-container-toolkit are required. Training routes through `tao-skill-bank:tao-run-automl` by default when `references/skill_info.yaml` sets `automl_enabled: true` and both `schemas/train.schema.json` and `references/spec_template_train.yaml` are packaged. Saying you want plain training, or no HPO, switches `automl_policy` to `off` for that run only. Skip `segment_export` and `segment_quantize` until matching entries appear in `schemas/manifest.json`.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add NVIDIA/skills --skill tao-train-visual-changenet -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/tao-train-visual-changenet/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/tao-train-visual-changenet/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add NVIDIA/skills --skill tao-train-visual-changenet -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/tao-train-visual-changenet/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add NVIDIA/skills --skill tao-train-visual-changenet -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/tao-train-visual-changenet/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install NVIDIA/skills tao-train-visual-changenet
```

2. **Manually: put the files in place**
- File: `.github/skills/tao-train-visual-changenet/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add NVIDIA/skills --skill tao-train-visual-changenet -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/NVIDIA/skills --path skills/tao-train-visual-changenet
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/tao-train-visual-changenet/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add NVIDIA/skills --skill tao-train-visual-changenet -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/NVIDIA/skills/tree/HEAD/skills/tao-train-visual-changenet/SKILL.md

## When to use it
- train a model that flags defects by comparing image pairs
- produce a change mask between before and after shots
- check a classifier with `test_acc` and false-positive rates
- export an ONNX artifact for TAO Deploy
- pick a DINOv3 backbone with the right freezing

## Example prompts
- Train Visual ChangeNet on a `visual_changenet_classify` dataset with the C-RADIOv2-B backbone
- Run change segmentation on the before/after pairs and save the binary masks
- Turn off AutoML and run plain training for this run

## Source text · SKILL.md · Apache-2.0

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: 80089ad8b5a18150.

BEGIN THIRD-PARTY FILE 80089ad8b5a18150
```text
---
name: tao-train-visual-changenet
description: Visual ChangeNet for binary image classification and segmentation in AOI defect detection. Use when training,
  evaluating, exporting, or running inference for PCB defect detection or visual inspection, comparing image pairs for
  PASS/NO_PASS classification, or producing change-segmentation masks. Trigger phrases include "train Visual ChangeNet",
  "ChangeNet classify", "ChangeNet segment", "AOI defect detection", "PCB inspection model".
license: Apache-2.0
compatibility: Requires docker + nvidia-container-toolkit.
metadata:
  author: NVIDIA Corporation
  version: "0.1.0"
allowed-tools: Read Bash
tags:
- pcb
- aoi
- defect
- classification
- segmentation
- siamese
- visual-inspection
---

# Visual ChangeNet

> **Standalone install?** If this session was not initialized by the TAO skill bank plugin, run the `tao-setup` skill first (host preflight, credentials, cross-skill discovery).

Visual ChangeNet is a TAO Toolkit model for visual inspection and defect detection. It supports two tasks:

- **Classify** — Binary image classification using a siamese-style architecture with a shared backbone (C-RADIO ViT) and a learnable difference module. Compares image pairs to classify defects as PASS/NO_PASS.
- **Segment** — Pixel-level change segmentation using a ViT-Large NVDINOv2 backbone. Compares before/after image pairs to produce a binary change mask.

Classify supports the public C-RADIOv2-B backbone and six frozen DINOv3
variants. Read `references/dinov3-backbones.md` before selecting DINOv3; it
contains the exact variant map, freeze requirement, Hugging Face access rules,
and local-staging overlay. For C-RADIO, use the bundled
`scripts/stage_backbone.py` and the mount in `references/local-docker.md`.

Segment specs use `model.backbone.type: vit_large_nvdinov2` and the NVDINOv2
checkpoint family. Keep the checkpoint architecture aligned with the backbone
type: `NV_DINOV2_518_16_256.ckpt` is compatible with the packaged segment
templates, but it must not be used with `fan_small_12_p4_hybrid`. If you switch
```
END THIRD-PARTY FILE 80089ad8b5a18150

The third-party file has ended. Everything between the 80089ad8b5a18150 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2090 of 18816 bytes. © NVIDIA Corporation · Apache-2.0 · https://github.com/NVIDIA/skills/tree/HEAD/skills/tao-train-visual-changenet/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
