Update NetVLAD checkpoint paths and enhance .gitignore
ci/woodpecker/push/02-build-push Pipeline failed

- Changed paths in documentation and configuration files to reflect the new naming convention for the NetVLAD model, transitioning from `models/netvlad/netvlad.pt` to `models/net_vlad/net_vlad.pt`.
- Updated the `.gitignore` to include additional file types and directories related to input data and locally-generated evidence frames.
- Removed the old NetVLAD checkpoint file as part of the transition to the new naming scheme.

These changes ensure consistency across the project and improve the management of generated files.
This commit is contained in:
Oleksandr Bezdieniezhnykh
2026-05-31 19:27:32 +03:00
parent 97f5f9793c
commit ba70381346
18 changed files with 4195 additions and 24 deletions
+35 -10
View File
@@ -608,15 +608,7 @@ def _build_replay_backbone_embedder(
"DINOv2-VPR or NetVLAD per AZ-321)."
)
host = HostCapabilities(
gpu_name="replay-e2e",
cuda_compute_capability=(0, 0),
cuda_runtime_version="0.0",
tensorrt_version="0.0",
host_arch="unknown",
host_os="linux",
driver_version="unknown",
)
host = HostCapabilities(sm=87, jetpack="6.2", trt="10.3")
engine_cache_root = cache_root / "engines"
engine_cache_root.mkdir(parents=True, exist_ok=True)
request = EngineCompileRequest(
@@ -638,8 +630,14 @@ def _build_replay_backbone_embedder(
first = results[0]
spec = backbones[0]
inference_runtime = build_inference_runtime(config)
engine_handle = inference_runtime.deserialize_engine(first.entry)
descriptor_dim = _resolve_replay_descriptor_dim(config, spec)
# The c10 engine compiler treats backbones generically and does not
# know about c2_vpr's architecture registry. The c2_vpr factory
# would do this registration on its own create() path, but this
# fixture bypasses build_vpr_strategy. Register the strategy's
# NN architecture here so deserialize_engine can find it.
_register_replay_strategy_architecture(config, descriptor_dim)
engine_handle = inference_runtime.deserialize_engine(first.entry)
return C7EngineBackboneEmbedder(
inference_runtime=inference_runtime,
engine_handle=engine_handle,
@@ -651,6 +649,33 @@ def _build_replay_backbone_embedder(
)
def _register_replay_strategy_architecture(
config: Any, descriptor_dim: int
) -> None:
"""Register c2_vpr's NN architecture with c7's registry.
Production runs go through ``vpr_factory.build_vpr_strategy`` which
invokes ``_register_strategy_architecture`` as a side effect before
the strategy is bound. The AZ-839 fixture pre-builds engines via
c10 directly (the operator pre-flight cache responsibility) and
skips ``build_vpr_strategy``, so the registration would never run.
Without this, ``InferenceRuntime.deserialize_engine`` raises
``EngineDeserializeError: No architecture registered for
model_name='net_vlad'`` when looking up the factory by file stem.
"""
block = config.components.get("c2_vpr") if config.components else None
strategy = getattr(block, "strategy", None) if block is not None else None
if strategy != "net_vlad":
return # other strategies handle their own registration / no-op
from gps_denied_onboard.components.c2_vpr.net_vlad import (
MODEL_NAME,
architecture_factory,
)
from gps_denied_onboard.components.c7_inference import register_architecture
register_architecture(MODEL_NAME, architecture_factory(descriptor_dim))
def _resolve_replay_descriptor_dim(config: Any, spec: Any) -> int:
"""Resolve the descriptor output dimension for the AZ-839 NetVLAD baseline.