name: mmdetection
description: "Use this skill when working with MMDetection 3.x for object
detection, instance/panoptic segmentation, tracking-adjacent configs, model
zoo configs, inference, visualization, training/testing commands, datasets,
evaluation, or extension work."
disable-model-invocation: true
metadata:
disco-role: operating
license: Apache 2.0
MMDetection
MMDetection is OpenMMLab's PyTorch-based detection toolbox. Use this root skill as a router, then open the nearest sub-skill for concrete commands, APIs, config patterns, and troubleshooting.
Quick Import and Environment Check
Use the bundled checker when diagnosing an install before deeper work:
python scripts/check_mmdet_environment.py
A healthy base environment should import mmdet, mmcv, mmengine, and torch, report compatible MMDetection/MMCV/MMEngine versions, and expose inference APIs such as DetInferencer, init_detector, and inference_detector.
Important dependency facts:
- MMDetection 3.3.0 requires
mmcv>=2.0.0rc4,<2.2.0 and mmengine>=0.7.1,<1.0.0.
- Install full
mmcv for workflows importing mmcv.ops; mmcv-lite can fail with ModuleNotFoundError: mmcv._ext.
- Match
torch, mmcv, CUDA/CPU wheels, NumPy, and OpenCV carefully; ABI mismatches often appear during API imports.
- CPU inspection/inference is possible for many workflows, but some ops and real training/evaluation workloads are GPU- or dataset-dependent.
Read references/troubleshooting.md for cross-cutting install/import/backend failures. Read references/repo-provenance.md when deciding whether this skill is stale against a newer MMDetection checkout.
Route by Task
| User task | Open this sub-skill | Why |
|---|
Choose a config, inspect _base_, apply --cfg-options, compare model zoo entries, or debug config loading | sub-skills/configuration-model-zoo/SKILL.md | Owns config inheritance, model-index/metafile navigation, model names, override validation, and config migration pointers. |
Run image/folder/video-style inference, save prediction JSON or visualizations, use DetInferencer, init_detector, or inference_detector | sub-skills/inference-visualization/SKILL.md | Owns public inference APIs, output controls, device/palette choices, headless visualization, and deployment route selection. |
| Build training, resume, distributed, Slurm, testing, evaluation, or result-dump commands | sub-skills/training-testing/SKILL.md | Owns tools/train.py, tools/test.py, distributed launcher patterns, --resume, --auto-scale-lr, work_dir, and command validation. |
| Prepare datasets, convert image folders/annotations, configure COCO/VOC/Cityscapes/LVIS/OpenImages metrics, or debug transforms/evaluators | sub-skills/datasets-evaluation/SKILL.md | Owns dataset layouts, COCO-like schemas, custom dataset config, transforms, metrics, analysis tools, and tiny dataset helpers. |
| Add custom models, heads, losses, datasets, transforms, hooks, optimizer constructors, structures, or project plugins | sub-skills/customization-extension/SKILL.md | Owns registries, custom_imports, project templates, MMEngine integration, data structures, and migration/customization pitfalls. |
Common Workflow Chains
Config to Inference
- Use
configuration-model-zoo to select a compatible config and inspect inherited settings.
- Use
inference-visualization to choose DetInferencer or lower-level APIs.
- Use root
references/troubleshooting.md if imports fail before model construction.
Custom Dataset Training
- Use
datasets-evaluation to validate annotation schema, class order, metainfo, and evaluator paths.
- Use
configuration-model-zoo to update config dataloaders, heads, and overrides.
- Use
training-testing to generate training/resume/test commands.
- Use
customization-extension only if a new dataset/transform class must be registered.
New Component or Project Plugin
- Use
customization-extension for registry ownership, custom_imports, module layout, and smoke checks.
- Use
configuration-model-zoo to wire the new type into configs.
- Use
training-testing for safe launch command generation.
Runtime Files
references/repo-provenance.md: source commit, version, dirty state, and evidence baseline.
references/troubleshooting.md: cross-cutting install/import/backend and dependency failures.
scripts/check_mmdet_environment.py: safe import/version/API signature checker.
Boundaries
This skill is self-contained guidance for future agents. It does not bundle MMDetection itself, pretrained checkpoints, datasets, videos, Docker images, or source-checkout-only tools. When a native MMDetection checkout is available, original demos/tests/tools can be used as optional verification candidates, but runtime instructions in this skill prefer bundled helpers or package APIs.