"Construct and troubleshoot MMDetection3D training, testing,
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill training-evaluation --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Training Evaluation?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-training-evaluation-99a76e30)More formats (shields.io, HTML) on the badges page.
---
name: training-evaluation
description: "Construct and troubleshoot MMDetection3D training, testing,
evaluation, visualization-hook, TTA, distributed, and Slurm commands."
disable-model-invocation: true
metadata:
disco-role: operating
license: Apache 2.0
---
# MMDetection3D training-evaluation sub-skill
Use this sub-skill when the user needs to train, test, evaluate, visualize evaluation outputs, enable test-time augmentation, or launch distributed/Slurm MMDetection3D jobs from an already chosen config and prepared dataset.
## Best-fit tasks
- Build safe single-process, distributed, or Slurm training commands for `tools/train.py` semantics.
- Build safe single-process, distributed, or Slurm test/evaluation commands for `tools/test.py` semantics.
- Decide how to pass `--work-dir`, `--amp`, `--sync_bn`, `--auto-scale-lr`, `--resume`, and nested `--cfg-options` overrides.
- Add evaluation output prefixes for validation artifacts or benchmark submissions.
- Add visualization-hook flags (`--show`, `--show-dir`, `--task`, score threshold, wait time) without assuming a GUI is available.
- Add `--tta` only when the selected segmentation config contains the required TTA sections.
- Diagnose launch, evaluator, visualization, TTA, CPU/GPU, port, and Slurm failures.
## Route elsewhere
- Dataset download, info-file generation, dataset layout validation, and stale annotation migrations belong in `data-preparation`.
- Choosing model families, editing config inheritance, changing dataset roots/classes, and validating config syntax belong in `configuration-model-zoo`.
- Standalone inference demos, inferencer APIs, and prediction serialization without evaluation belong in `inference`.
- Geometry API use and offline interpretation of saved OBJ/visualizer artifacts belong in `structures-visualization`.
- TorchServe, model publishing/conversion, log plotting, FLOPs, and benchmark helper boundaries belong in `serving-tools`.
## Operating procedure
1. Confirm the caller has a config path, dataset prepared for that config, and for testing a checkpoint path. If these are missing, route before generating commands.
2. Choose the launcher pattern in [references/workflows.md](references/workflows.md): single process, distributed shell launcher, or Slurm launcher.
3. Generate command strings with the bundled dry-run helper:
```bash
python scripts/build_train_test_command.py --help
```
The helper prints shell commands only; it never starts training, testing, distributed workers, or Slurm jobs.
4. For training, decide whether the job needs `--work-dir`, `--amp`, `--sync_bn`, `--auto-scale-lr`, `--resume`, and config overrides before adding launch resources.
5. For testing/evaluation, decide whether the task is ordinary metric evaluation, benchmark formatting, saved visualization, or segmentation TTA. Use [references/evaluation.md](references/evaluation.md) for evaluator-specific output keys.
6. For distributed or Slurm jobs, set GPU count and ports explicitly when multiple jobs may share a host. Avoid the default port collision described in [references/troubleshooting.md](references/troubleshooting.md).
7. Before recommending an expensive run, check the high-signal guardrails below and the failure patterns in [references/troubleshooting.md](references/troubleshooting.md).
## High-signal guardrails
- Do not run long training/evaluation as a verification step. Prefer parser/help checks, config checks, and command rendering unless the user explicitly authorizes the expensive job.
- `--work-dir` overrides config `work_dir`; if neither is set, MMEngine uses `./work_dirs/<config-basename>`.
- `--amp` only converts a config whose optimizer wrapper type is `OptimWrapper`; configs already using AMP warn, and unrelated wrappers fail.
- `--auto-scale-lr` requires the config to define `auto_scale_lr.enable` and `auto_scale_lr.base_batch_size`.
- `--resume` with no value means auto-resume from the latest checkpoint in the work directory; `--resume path/to/checkpoint.pth` resumes from that checkpoint.
- `--sync_bn` accepts `none`, `torch`, or `mmcv`; it is mainly useful for multi-GPU training and should not be used as a generic CPU fix.
- Evaluation output prefixes are usually nested under `test_evaluator.*`; do not pass a top-level `submission_prefix` unless the active config explicitly consumes it.
- `--show`/`--show-dir` activate the visualization hook and require a valid `--task` choice. Saved visualization works headlessly through output files, but documented use is for single-GPU debugging.
- `--tta` in this release is for 3D segmentation configs that include both `tta_model` and `tta_pipeline`; do not enable it for ordinary 3D detection configs.
- CPU train/test is experimental and narrow. Most point-cloud models depend on CUDA 3D ops; CPU testing is documented only for SMOKE-style debugging.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!