User-held weights¶
Seven third-party-trained COCO detectors (DINOv3 backbones + third-party detection heads) are repackaged for compliance and stored outside the repository; they are not redistributable. The asset table, licenses and sha256 values are in the model zoo; this page covers the loading routes and required overrides. Three ViT assets are STA-era and are not loadable today; the four ConvNeXt assets load normally.
Storage and licensing¶
- Default root:
~/Research/Model/AutoVision; override withAUTOVISION_USER_HELD_ROOT. - Each asset is a
weights.pt+warm_start.pt+ASSET.jsontriplet. - Asset names and both container sha256 values are pinned in
autovision.registry.user_held_assets(resolve_user_held_assetresolves;verify_user_held_assetverifies offline). - License:
DINOv3-License+NOASSERTION. Backbones inherit DINOv3 License obligations; detection heads carry no license statement (all rights reserved by default). No redistribution, no commercial use; the assets are not shipped with the repository or exported artifacts and are not registered inASSET_MANIFEST. Use constitutes acceptance of the applicable terms.
Loading route A: checkpoint warm start¶
ConvNeXt checkpoints were trained with a 6-layer / 256-wide decoder — not the
variant spec defaults (3/4 layers × 384 width) — so loading without overrides is
rejected by the strict loader. user_held_model_args(<asset>) returns all
required model_args in one call (including backbone_pretrained=False and
image_size).
import autovision
from autovision.registry.user_held_assets import user_held_model_args
autovision.train_object_detection(
out="runs/d1", data="data.yaml", model="detr/dinov3-convnext-base",
model_args=user_held_model_args("dinov3-convnext-base"),
)
All four ConvNeXt tiers require dec_layers=6 + decoder_hidden_dim=256;
user_held_model_args already includes them.
STA-era ViT assets (audit-only, not loadable)¶
| Asset | Status |
|---|---|
dinov3-vitt16 |
contains backbone.sta.*; loading rejected |
dinov3-vitt16plus |
contains backbone.sta.*; loading rejected |
dinov3-vits16 |
contains backbone.sta.*; loading rejected |
The DEIMv2-derived spatial prior was removed; the no-STA ViT adapter cannot
faithfully reproduce these checkpoints. Name resolvers (user_held_model_args,
resolve_user_held_asset, resolve_avwarm_start_source,
resolve_detector_checkpoint) reject them before reading/hashing the
container. For a direct STA-era .pt, load_baseline_coco_checkpoint /
load_warm_start_into_network first read the container to detect
backbone.sta.* keys, then reject before building/transferring the model. Error
messages list the four loadable ConvNeXt alternatives.
- Loadable assets:
USER_HELD_LOADABLE_ASSETS(four ConvNeXt). - Audit-only assets:
USER_HELD_UNSUPPORTED_ASSETS(three ViT); the fullUSER_HELD_ASSETSmap still keeps all seven identity records. - Audit tooling can read metadata with
resolve_user_held_asset(name, allow_unsupported=True);verify_user_held_asset(USER_HELD_ASSETS[name])can still verify sha256 offline, but verification does not imply loadability. - Migration: retrain/export a no-STA checkpoint, or use a ConvNeXt asset.
Loading route B: AVWarmStart v1¶
Our key layout, with shape-compatible partial transfer:
import autovision
autovision.train_object_detection(
out="runs/d2", data="data.yaml", model="detr/dinov3-convnext-base",
model_args={
"warm_start": "dinov3-convnext-base", # or a warm_start.pt path
"backbone_pretrained": False,
"dec_layers": 6,
"decoder_hidden_dim": 256,
"image_size": (640, 640),
},
)
Offline verification¶
verify_user_held_asset(asset) only computes file sha256 and does not load a
model; the asset object must come from the registry (USER_HELD_ASSETS[name], or
a resolver result obtained with allow_unsupported=True). A content mismatch
raises. See the model zoo for the mapping between loading model
keys and build overrides.