LingBot-Map Long vs. LingBot-Map Checkpoints: Which to Use?
Use lingbot-map.pt for production inference and long video sequences, while reserving lingbot-map-stage1.pt for VGGT-based research and custom training pipelines.
The Robbyant/lingbot-map repository provides two distinct pretrained checkpoints that serve fundamentally different purposes. Understanding whether to deploy the balanced lingbot-map checkpoint or the intermediate stage-1 variant is essential for optimizing accuracy, speed, and memory consumption in camera pose estimation tasks.
Understanding the Two Checkpoints
The Balanced Checkpoint (lingbot-map.pt)
This is the default model referenced throughout the codebase and documentation. According to the repository's README, this checkpoint provides the optimal trade-off between inference speed and localization accuracy for both short clips and very long video sequences. The benchmark suite explicitly uses this checkpoint to generate all reported results, as noted in benchmark/README.md at line 161.
The Stage-1 Training Checkpoint (lingbot-map-stage1.pt)
Saved immediately after the first training stage, this checkpoint is compatible with the VGGT architecture for bidirectional (camera-to-world) inference. Unlike the balanced checkpoint, lingbot-map-stage1.pt preserves intermediate representations that are useful when you need to extract features before final refinement or when integrating with external VGGT pipelines.
When to Use Each Checkpoint
1. Standard Inference and Benchmarking
Choose lingbot-map.pt when running the standard demo scripts or reproducing paper results. This checkpoint is the default loaded by demo.py (line 96) and benchmark/methods/lingbot_map.py (line 109). It supports both streaming and windowed inference modes without requiring architectural modifications.
2. VGGT Integration and Research Pipelines
Select lingbot-map-stage1.pt when you need camera-to-world (c2w) predictions or plan to continue training from an intermediate state. This checkpoint works specifically with the VGGT model architecture and is the correct choice for fine-tuning experiments or when you need to modify the loss function beyond the final training stage.
3. Long-Sequence Processing ("Longseq" Scenarios)
Deploy lingbot-map.pt for videos containing tens of thousands of frames. While both checkpoints can technically process extended sequences, the balanced checkpoint is explicitly tuned for long-sequence scenarios, including indoor walkthroughs exceeding 25,000 frames. The stage-1 checkpoint lacks these optimizations and may consume significantly more GPU memory when processing very long videos without providing accuracy benefits.
Implementation Details
The checkpoint loading mechanism is implemented in benchmark/methods/lingbot_map.py, where the model initialization logic handles path resolution at line 109. Underlying both checkpoints is the GCT base model defined in lingbot_map/models/gct_base.py, which includes gradient checkpointing flags (line 62) that affect memory usage during long-sequence inference. The balanced checkpoint is pre-configured to leverage these optimizations automatically.
Code Examples
Use the following commands to load each checkpoint appropriately:
# Standard inference with the balanced checkpoint (recommended for most users)
python demo.py --model_path /path/to/lingbot-map.pt
# Windowed inference for very long videos (prevents OOM errors)
python demo_render/batch_demo.py \
--model_path /path/to/lingbot-map.pt \
--mode windowed --window_size 64 --overlap_size 16
# Loading the stage-1 checkpoint for VGGT fine-tuning or research
python examples/vggt_finetune.py \
--checkpoint /path/to/lingbot-map-stage1.pt
Summary
- Use
lingbot-map.ptas the default for production inference, benchmark reproduction, and processing long video sequences (25,000+ frames). - Use
lingbot-map-stage1.ptonly when integrating with VGGT architectures, performing camera-to-world prediction, or continuing training from an intermediate checkpoint. - The balanced checkpoint is explicitly optimized for memory efficiency in
lingbot_map/models/gct_base.py, making it superior for resource-constrained long-sequence processing. - Both checkpoints are supported by the
demo.pyandbatch_demo.pyscripts, but onlylingbot-map.ptis validated against the official benchmark suite.
Frequently Asked Questions
What is the difference between lingbot-map.pt and lingbot-map-stage1.pt?
The lingbot-map.pt checkpoint represents the fully trained, balanced model used in the paper's benchmarks and demos, optimized for both speed and accuracy across all sequence lengths. The lingbot-map-stage1.pt checkpoint is an intermediate save from the first training stage, designed specifically for VGGT integration and research requiring camera-to-world (c2w) inference or further fine-tuning.
Can I use lingbot-map-stage1.pt for long video sequences?
While technically possible, you should avoid using the stage-1 checkpoint for long sequences. The balanced lingbot-map.pt checkpoint includes specific optimizations for "longseq" scenarios (handling 25,000+ frames), whereas the stage-1 variant may exhibit higher memory consumption and reduced speed on very long videos without accuracy benefits.
How do I load these checkpoints in my own code?
Reference the implementation in benchmark/methods/lingbot_map.py at line 109, where the model loader resolves the checkpoint path and initializes the GCT base architecture from lingbot_map/models/gct_base.py. Pass the absolute path to either .pt file via the --model_path argument in demo.py or load it directly using PyTorch's torch.load() within custom scripts.
Which checkpoint produces the benchmark results reported in the paper?
All benchmark results reported in the repository are generated using lingbot-map.pt. As documented in benchmark/README.md at line 161, this is the "balanced" checkpoint explicitly tuned for the evaluation datasets. The stage-1 checkpoint is not used for benchmark reporting and is provided solely for research and VGGT integration purposes.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →