LO-World

Pretrained PyTorch checkpoints for LO-World, a BEV latent world model for joint future occupancy and LiDAR prediction.

Download

hf download JimmyLiaoo/LO-World \
  bev_world_6f.pth \
  bev_world_12f_autoregressive.pth bev_world_12f_layout_autoregressive.pth \
  bev_world_6f_stc.pth bev_world_6f_waymo.pth occ_lidar_vae.pth SHA256SUMS --local-dir ckpts

Checkpoints

The release contains six checkpoints for inference, fine-tuning and result reproduction.

File Model
bev_world_6f.pth 6-frame nuScenes World Model; source for STCOcc and Waymo fine-tuning
bev_world_12f_autoregressive.pth 12-frame autoregressive World Model
bev_world_12f_layout_autoregressive.pth 12-frame autoregressive World Model with physical v1 BEVLayout conditioning
bev_world_6f_stc.pth 6-frame nuScenes World Model fine-tuned on STCOcc-conditioned latents
bev_world_6f_waymo.pth 6-frame Waymo World Model
occ_lidar_vae.pth Joint occupancy-LiDAR tokenizer

Use the corresponding configuration from the LO-World code repository. The Layout checkpoint is the physical v1 fine-tuned epoch 8 EMA and must be paired with the corrected layouts extracted to data/bev_layout/. World Model checkpoints include the tokenizer parameters. Training and evaluation require separately prepared dataset files and tokenizer latents.

Download the STCOcc prediction results, generated with the r50_704_256_16f_occ3d checkpoint from STCOcc, and arrange them as data/nuscenes/stc-results/<scene_name>/<sample_token>/labels.npz. Use configs/tokenizer/occ_lidar_vae_stc_latent.py to prepare the matching input latents.

bev_world_6f.pth is the shared source checkpoint for STCOcc and Waymo fine-tuning. Both adaptations predict six future frames at 2 Hz (0.5–3 seconds). Their configurations load this complete checkpoint through load_from, keeping the tokenizer frozen. The STCOcc fine-tuning configuration is configs/world_model/bev_world_6f_stc_occ.py (8 epochs, AdamW learning rate 1e-5); the Waymo configuration is configs/world_model/bev_world_6f_waymo.py.

For bev_world_6f_stc.pth, use configs/world_model/bev_world_6f_stc_occ.py and matching STCOcc-conditioned validation latents at data/stc_occ_lidar_latent/<sample_token>.npz. This checkpoint's embedded tokenizer parameters are identical to the released occ_lidar_vae.pth. Encode the STCOcc predictions with that tokenizer:

bash tools/dist_test.sh configs/tokenizer/occ_lidar_vae_stc_latent.py \
  ckpts/occ_lidar_vae.pth 8

Evaluation targets remain the original Occ3D labels and LiDAR range images.

Verify downloads

cd ckpts
sha256sum -c SHA256SUMS

nuScenes infos

Prepared train/validation annotation infos are available under nus_infos/. They contain 28,130 training samples and 6,019 validation samples, respectively. Download them into the code repository's data/ directory:

hf download JimmyLiaoo/LO-World --include "nus_infos/*.pkl" --local-dir data

The resulting paths are data/nus_infos/nuscenes_infos_train.pkl and data/nus_infos/nuscenes_infos_val.pkl. Original nuScenes sensor data and Occ3D occupancy labels must be downloaded separately.

BEVLayout conditioning data

The complete 2 Hz train/validation BEVLayout arrays used by the Layout-conditioned models are available under data/bev_layout/. The package contains 34,149 binary uint8 arrays of shape (18, 200, 200): 28,130 train and 6,019 validation samples. It is approximately 22.9 GiB uncompressed and 77 MiB as split Zstandard archives.

Download the package into the LO-World code repository and extract the arrays to data/bev_layout/:

hf download JimmyLiaoo/LO-World --include "data/bev_layout/**" --local-dir .
mkdir -p data/bev_layout
tar --zstd -xf data/bev_layout/2hz/train.tar.zst -C data/bev_layout
tar --zstd -xf data/bev_layout/2hz/val.tar.zst -C data/bev_layout
(cd data/bev_layout && sha256sum -c SHA256SUMS)

These are 2 Hz keyframe layouts, not dense 12 Hz frames. The arrays are derived from nuScenes and are for non-commercial research use subject to the nuScenes terms. See the package card for format, split manifests, checksums, source terms, and citation.

Selected 12 Hz conditions: uniform physical timeline

Updated 2026-10-22 at the existing download paths. The train700 and val150 packages preserve all 850 original target tokens, clip order and seeds, with one 81-frame window per scene (68,850 total Layouts). They use the corrected physical clock t0 + round(k * 1e6 / 12) for ego poses, instance tracks and map rendering, replacing the old sweep-pose clock. The checkpoint and 2 Hz archives are unchanged.

hf download JimmyLiaoo/LO-World --include "data/bev_layout/12hz_train700_81f/**" --local-dir .
hf download JimmyLiaoo/LO-World --include "data/bev_layout/12hz_val150_81f/**" --local-dir .
(cd data/bev_layout/12hz_train700_81f && sha256sum -c SHA256SUMS)
(cd data/bev_layout/12hz_val150_81f && sha256sum -c SHA256SUMS)

Each condition NPZ contains 80 future Layouts, binary uint8 with shape (1,80,18,200,200), ego transforms, uniform timestamps and provenance. Each package now also includes current_layouts/ for frame 0 and selected_12hz_frames.pkl for the same frozen rendering timeline. The manifest, release validation summary and SHA256 checksums travel with each package.

These are selected windows, not full-scene 12 Hz coverage or high-frequency ground truth. Synthetic future tokens differ from the old sweep tokens; regenerate old predictions and videos rather than pairing them with the new annotations. Original RGB acquisition timestamps are retained, without RGB interpolation. Use the updated LO-World code for timeline/source validation.

Use data/bev_layout/12hz_val150_81f as --dataset-dir with --dataset-split val in the batch generator; use the train package with --dataset-split train. The updated preparation shell pipeline also stages these installed packages into its existing work_dirs generation paths.

See the training package and validation package.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support