Installs into .claude/skills of the current project.
Are you the author of Training And Evaluation?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-training-and-evaluation)
---
name: training-and-evaluation
description: "Use for Anomalib's Engine fit/train/test/validate flow, metrics,
callbacks, preprocessing, postprocessing, loggers, visualization, and
training-mode guidance while keeping CLI and deployment internals out of
scope."
metadata:
disco-role: operating
disable-model-invocation: true
license: Apache 2.0
---
# Training and Evaluation
Use this sub-skill when the user needs to configure, explain, or debug Anomalib's training/evaluation loop, metric collection, callback order, preprocessing/postprocessing, experiment logging, or visualization.
## Read first
- `references/engine-and-metrics.md`
- `references/callbacks-and-logging.md`
- `references/troubleshooting.md`
- `scripts/training-modes.py`
- `scripts/evaluation-smoke.py`
## Safe operating boundary
Owns the core training/evaluation surface under:
- `src/anomalib/engine`
- `src/anomalib/callbacks`
- `src/anomalib/metrics`
- `src/anomalib/pre_processing`
- `src/anomalib/post_processing`
- `src/anomalib/loggers`
- `src/anomalib/visualization`
Covers:
- `Engine.fit`, `Engine.train`, `Engine.validate`, `Engine.test`, `Engine.predict`, `Engine.from_config`
- `AnomalibModule.configure_callbacks`
- `get_callbacks`
- `Evaluator`, `AnomalibMetric`, `PostProcessor`, `PreProcessor`, `ImageVisualizer`
- training-mode guidance such as `barebones`, checkpointing, and validation-first zero/few-shot behavior
Excludes:
- CLI parsing details
- export/deployment internals
- pipeline orchestration
Treat optional logger packages and GPU-only device checks as non-blocking.
## Quick routing
| User need | Do this |
| --- | --- |
| "How do I wire training, validation, and test?" | Read `references/engine-and-metrics.md`. |
| "Why do my callbacks or loggers behave strangely?" | Read `references/callbacks-and-logging.md`. |
| "Why are metrics missing, duplicated, or empty?" | Read `references/troubleshooting.md`. |
| "Can I run a CPU-only smoke for barebones mode?" | Run `scripts/training-modes.py`. |
| "Can I sanity-check metrics, preprocessing, postprocessing, and visualization?" | Run `scripts/evaluation-smoke.py`. |
## Operating notes
- Model components are usually chained as `pre_processor -> model -> post_processor`, with `evaluator` and `visualizer` attached as callbacks.
- Validation populates normalization and threshold state for `PostProcessor` and related metrics.
- The default evaluator uses prefixed image/pixel metrics so image-level and pixel-level results do not collide.
- Barebones mode removes Lightning logging overhead; use Anomalib's evaluator if you still need returned metrics.