"It guides agents in selecting and safely editing MapTR model
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill model-configuration --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Model Configuration?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-model-configuration-arex-skill)More formats (shields.io, HTML) on the badges page.
---
name: model-configuration
description: "It guides agents in selecting and safely editing MapTR model
configurations, resolving model variants, and checking backend prerequisites
without running a model."
disable-model-invocation: true
metadata:
disco-role: operating
license: MIT
---
# MapTR model configuration
Use this skill when the task is to choose a MapTR config family, make a
coordinated architecture or geometry edit, or explain a registration/backend
failure before training or evaluation. It is a configuration and static
compatibility guide; it does **not** prepare datasets, launch jobs, inspect
checkpoints/metrics, or render results. Route those tasks to the sibling
skills named by the parent MapTR router.
## Safe entry procedure
1. Start with a named family in the table in
[configuration.md](references/configuration.md); do not mix fragments from
different families until their encoder, modality, and queue contracts agree.
2. Copy the nearest config and edit the copy. Keep `_base_`, `plugin`, and
`plugin_dir` intact unless the package layout is intentionally changed.
3. Treat `point_cloud_range`, `voxel_size`, BEV dimensions, map classes, fixed
point counts, queue length, and modality as one coupled contract.
4. Run the bundled checker before any model build:
`python <skill-root>/sub-skills/model-configuration/scripts/check_maptr_config.py <config.py>`.
5. Read its warnings as stop points, not as proof of runtime readiness. It
parses configuration only and never imports the MapTR plugin or builds a
model.
## Named families
| Family | Encoder / input | Good starting point | Main constraints |
|---|---|---|---|
| GKT camera | `BEVFormerEncoder` plus `GeometrySptialCrossAttention` and `GeometryKernelAttention` | `maptr_tiny_r50_24e` | Camera-only, fixed 3 map classes, custom CUDA op required for native execution. |
| GKT long run | Same GKT path, 110 epochs | `maptr_tiny_r50_110e` | Training duration and checkpoint handling belong elsewhere; preserve the same geometry contract. |
| GKT nano | GKT with R18 and smaller BEV | `maptr_nano_r18_110e` | `bev_h=80`, `bev_w=40`, `num_vec=100`, two decoder layers; do not copy R50 dimensions blindly. |
| BEVFormer | `BEVFormerEncoder` plus `SpatialCrossAttention` and `MSDeformableAttention3D` | `maptr_tiny_r50_24e_bevformer` | Camera metadata and MMCV deformable attention must match; no GKT build is implied. |
| BEV pool / LSS | `LSSTransform` and `mmdet3d.ops.bev_pool` | `maptr_tiny_r50_24e_bevpool` | Uses `dbound`, 3-D `voxel_size`, camera calibration metadata, and a z range different from GKT. |
| Camera + LiDAR fusion | GKT camera encoder plus `lidar_encoder` and `ConvFuser` | `maptr_tiny_fusion_24e` | Requires `modality='fusion'`, `use_lidar=True`, point pipeline keys, sparse voxel ops, and matching feature channels. |
| Argoverse2 | GKT camera path with AV2 dataset class | `maptr_tiny_r50_av2_24e` | AV2 camera count/calibration and BEV orientation differ from the common nuScenes family. |
| T4 variants | GKT or BEVFormer with smaller op launch steps | `*_t4` configs | These are memory/launch-parameter variants, not interchangeable encoders. |
The default R50 camera family records `[-15,-30,-2,15,30,2]`,
`[0.15,0.15,4]`, `bev_h=200`, `bev_w=100`, 3 map classes, 20 points per
line, 900 point queries (`50 * 20`), 50 vectors, 256 channels, and
`queue_length=1`. These are observed release defaults, not universal MapTR
requirements.
## Coupled edit checklist
When changing `point_cloud_range`, update the same six-number value in the
head bbox coder, transformer encoder/cross-attention, train config assigner,
BEV/grid geometry, and each dataset split (`train`, `val`, `test`). Update
range filters in pipelines too. Recompute or deliberately review
`post_center_range`; it is not automatically derived. If voxelization is
active, update `voxel_size`, grid dimensions, and any LSS bounds together.
When changing BEV dimensions, update `pts_bbox_head.bev_h/bev_w`, learned
positional encoding rows/columns, dataset `bev_size`, and any encoder or fuser
reshape assumptions. When changing map classes, update `map_classes`,
`num_map_classes`/head `num_classes`, dataset split `map_classes`, and the
annotation contract. When changing points per line, update both GT and
prediction counts and confirm the assigner can interpolate the two counts.
For temporal edits, keep `queue_length`, `video_test_mode`, the dataset queue,
and the image tensor shape consistent. A queue of one is still a temporal-capable
model but supplies no history during training. Do not make a temporal config a
fusion config by adding only `queue_length`.
## Registration and backend gate
The training/test entry points first load `Config.fromfile`, then, when
`plugin=True`, derive a dotted package from `plugin_dir` and import it so the
MapTR, head, transformer, attention, dataset, loss, and assigner registries are
populated. The expected convention is a package directory such as
`projects/mmdet3d_plugin/`, represented as a dotted import rooted at the
runtime package namespace. Keep the path importable and do not rely on a
working-directory accident.
The checker can verify path spelling and static key consistency, but it does
not prove that the package imports. Full plugin import is **not verified** by
this skill. GKT additionally calls `GeometricKernelAttentionFunc`, backed by
the package's `GeometricKernelAttention` extension; a present source directory
is not a built, ABI-compatible, or CUDA-capable extension. The host's visible
CUDA framework and the documented legacy versions do not establish a working
GKT build. Stop at the compatibility boundary described in
[compatibility.md](references/compatibility.md) when the op is missing or
built for another Torch/MMCV/CUDA combination.
## Model anatomy in one pass
`MapTR` is an `MVXTwoStageDetector`. It extracts camera features, optionally
voxelizes a LiDAR branch, and calls `MapTRHead`. `MapTRHead` creates BEV
queries for the attention encoder (only for `BEVFormerEncoder`), structured
instance/point queries, a `MapTRPerceptionTransformer`, classification and
point-regression branches, a `MapTRNMSFreeCoder`, `MapTRAssigner`, and point
losses. `MapTRDecoder` refines 2-D reference points layer by layer. GKT's
`GeometrySptialCrossAttention` rebatches visible camera queries and delegates
sampling to `GeometryKernelAttention`; BEVFormer uses the MMCV-compatible
3-D deformable attention path; LSS projects image features through depth and
`bev_pool`. Details and signatures are in
[api-reference.md](references/api-reference.md).
## Expected checker use
A successful static check prints the config path, parser (`mmcv.Config` or
AST fallback), family/encoder, range and BEV summary, and `PASS` for required
keys. It may print `WARN` for unresolved inheritance or an unverified custom
op. A non-zero exit means do not build the model. For a deliberately broken
file, the expected result is a non-zero exit with a diagnostic naming the
missing key, invalid six-number range, bad plugin path, or incompatible
modality/encoder coupling. See [troubleshooting.md](references/troubleshooting.md)
for recovery and stop conditions.
## Boundaries
- Dataset conversion, annotation files, filesystem layout, and calibration
generation are data-preparation work; do not substitute guessed paths here.
- Training/evaluation launch commands, distributed settings, checkpoints, and
metric interpretation are training-evaluation work.
- Visualization, video, and qualitative rendering are visualization work.
- This skill does not claim that a config can run merely because static parsing
passes. A native model build remains gated on the exact legacy environment,
all required MMDetection3D/MMCV ops, plugin registration, and GKT ABI proof.
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!