# LingBot-Map Long vs. LingBot-Map Checkpoints: Which to Use?

> Deciding between LingBot-Map long and LingBot-Map checkpoints? Learn when to use lingbot-map.pt for production and lingbot-map-stage1.pt for research. Get optimal performance for your projects.

- Repository: [Robbyant/lingbot-map](https://github.com/Robbyant/lingbot-map)
- Tags: comparison
- Published: 2026-07-08

---

**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`](https://github.com/Robbyant/lingbot-map/blob/main/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`](https://github.com/Robbyant/lingbot-map/blob/main/demo.py) (line 96) and [`benchmark/methods/lingbot_map.py`](https://github.com/Robbyant/lingbot-map/blob/main/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`](https://github.com/Robbyant/lingbot-map/blob/main/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`](https://github.com/Robbyant/lingbot-map/blob/main/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:

```bash

# Standard inference with the balanced checkpoint (recommended for most users)

python demo.py --model_path /path/to/lingbot-map.pt

```

```bash

# 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

```

```bash

# 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.pt`** as the default for production inference, benchmark reproduction, and processing long video sequences (25,000+ frames).
- **Use `lingbot-map-stage1.pt`** only 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`](https://github.com/Robbyant/lingbot-map/blob/main/lingbot_map/models/gct_base.py), making it superior for resource-constrained long-sequence processing.
- Both checkpoints are supported by the [`demo.py`](https://github.com/Robbyant/lingbot-map/blob/main/demo.py) and [`batch_demo.py`](https://github.com/Robbyant/lingbot-map/blob/main/batch_demo.py) scripts, but only `lingbot-map.pt` is 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`](https://github.com/Robbyant/lingbot-map/blob/main/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`](https://github.com/Robbyant/lingbot-map/blob/main/lingbot_map/models/gct_base.py). Pass the absolute path to either `.pt` file via the `--model_path` argument in [`demo.py`](https://github.com/Robbyant/lingbot-map/blob/main/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`](https://github.com/Robbyant/lingbot-map/blob/main/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.