odyssey-models / README.md
ADRLAB's picture
Serve the checkpoints under models/<Model>/ckpts (OdysseyZoo renamed third_party/ to models/)
4bbe94f verified
|
Raw History Blame Contribute Delete
7.35 kB
---
license: other
license_name: cc-by-nc-sa-4.0-apache-2.0-and-nvidia-open-model-license
license_link: https://huggingface.co/ADRLAB/odyssey-models#license
tags:
- autonomous-driving
- end-to-end-driving
- motion-planning
- navsim
- pytorch-lightning
---
# Odyssey Models
Checkpoints of the end-to-end driving planners evaluated in the **Odyssey** closed-loop benchmark.
- Five planners are included: LTF, DrivoR, DiffusionDrive, SafeDrive and ReCogDrive.
- Each comes in two versions:
- **`baseline`:** the upstream model. It takes NAVSIM's `driving_command` and has no route.
- **`sdroute`:** `driving_command` is removed, and a standard-definition (SD) route becomes the only navigation signal.
- The code that loads and runs these checkpoints is **OdysseyZoo**. A link will be added here once it is public.
- The closed-loop scenes are in [ADRLAB/odyssey-scenes](https://huggingface.co/datasets/ADRLAB/odyssey-scenes).
- The simulator's image restorer (**Fixer**, fine-tuned from NVIDIA Fixer) is in `fixer/`. See [Fixer](#fixer).
## Checkpoints
Paths match the OdysseyZoo tree, so the files land in place when you download into an OdysseyZoo checkout.
| File | Model | Version | Origin | License |
|---|---|---|---|---|
| `models/navsim/ckpts/ltf_baseline.ckpt` | LTF | baseline | NAVSIM release: [`autonomousvision/navsim_baselines`](https://huggingface.co/autonomousvision/navsim_baselines) `ltf/ltf_seed_0.ckpt` | Apache-2.0 |
| `models/navsim/ckpts/ltf_sdroute.ckpt` | LTF | sdroute | trained by us | CC BY-NC-SA 4.0 |
| `models/DrivoR/ckpts/drivor_baseline.ckpt` | DrivoR | baseline | [DrivoR](https://github.com/valeoai/DrivoR) authors' release (GitHub Releases, navtrain only, 25 epochs) | Apache-2.0 |
| `models/DrivoR/ckpts/drivor_sdroute.ckpt` | DrivoR | sdroute | trained by us | CC BY-NC-SA 4.0 |
| `models/DiffusionDrive/ckpts/diffusiondrive_baseline.ckpt` | DiffusionDrive | baseline | trained by us with the upstream recipe | CC BY-NC-SA 4.0 |
| `models/DiffusionDrive/ckpts/diffusiondrive_sdroute.ckpt` | DiffusionDrive | sdroute | trained by us | CC BY-NC-SA 4.0 |
| `models/SafeDrive/ckpts/safedrive_baseline.ckpt` | SafeDrive | baseline (camera-only, with pedestrian detection) | trained by us | CC BY-NC-SA 4.0 |
| `models/SafeDrive/ckpts/safedrive_sdroute.ckpt` | SafeDrive | sdroute | trained by us | CC BY-NC-SA 4.0 |
| `models/recogdrive/ckpts/recogdrive_baseline.ckpt` | ReCogDrive | baseline | ReCogDrive release: [`owl10/ReCogDrive-2B-RL`](https://huggingface.co/owl10/ReCogDrive-2B-RL) | Apache-2.0 |
| `models/recogdrive/ckpts/recogdrive_sdroute.ckpt` | ReCogDrive | sdroute (imitation learning + GRPO) | trained by us | CC BY-NC-SA 4.0 |
| `models/recogdrive/ckpts/recogdrive_sdroute_il.ckpt` | ReCogDrive | sdroute, imitation learning only (before GRPO) | trained by us | CC BY-NC-SA 4.0 |
| `models/recogdrive/ckpts/ReCogDrive-VLM-2B/` | ReCogDrive | VLM used by all three ReCogDrive checkpoints | ReCogDrive release: [`owl10/ReCogDrive-VLM-2B`](https://huggingface.co/owl10/ReCogDrive-VLM-2B), unmodified | Apache-2.0 |
- Every planner checkpoint was trained on NAVSIM `navtrain`.
- ReCogDrive `sdroute` gets the route twice: as a status token in the planner, and as the navigation line of the VLM prompt.
- **`.ckpt` contents:** each `.ckpt` keeps only `state_dict`, `pytorch-lightning_version`, `epoch` and `global_step`.
- Optimizer, scheduler and callback states were dropped, so a file is about a third of a full Lightning checkpoint. This means they cannot resume training.
- For the three upstream checkpoints, every tensor is identical to the original release.
- **`ReCogDrive-VLM-2B/`:** every file is byte-identical to `owl10/ReCogDrive-VLM-2B`.
- `SHA256SUMS` lists the checksum of every planner file. The Fixer files are listed in `fixer/models/SHA256SUMS`.
## Download
```bash
# all checkpoints, into an OdysseyZoo checkout
hf download ADRLAB/odyssey-models --include "models/*" --local-dir OdysseyZoo
# verify
hf download ADRLAB/odyssey-models SHA256SUMS --local-dir .
(cd OdysseyZoo && sha256sum -c ../SHA256SUMS)
```
`--include "models/*"` keeps this repo's `README.md` from overwriting OdysseyZoo's.
**Also needed, from its own repo:**
| For | Download into | Command |
|---|---|---|
| DrivoR (both checkpoints) | `models/DrivoR/weights/vit_small_patch14_reg4_dinov2.lvd142m/` | `hf download timm/vit_small_patch14_reg4_dinov2.lvd142m --local-dir OdysseyZoo/models/DrivoR/weights/vit_small_patch14_reg4_dinov2.lvd142m` |
- LTF, DiffusionDrive and SafeDrive fetch `timm/resnet34.a1_in1k` from the Hugging Face Hub when the model is built. On an offline machine, have it in the local HF cache.
- The DINOv2 and ResNet-34 weights are only initial values. The checkpoints overwrite them.
## Fixer
The Odyssey simulator restores every rendered camera image with Fixer before the planner sees it.
| File | Origin | License |
|---|---|---|
| `fixer/models/finetuned/h1_b16_e1_model_11001.pkl` | fine-tuned by us from [NVIDIA Fixer](https://huggingface.co/nvidia/Fixer) `pretrained/pretrained_fixer.pkl` | NVIDIA Open Model License |
| `fixer/models/NOTICE`, `fixer/models/LICENSE-NVIDIA-Open-Model-License.txt` | the notice and the license that come with it | — |
- Fixer also needs two base files, `base/model_fast_tokenizer.pt` and `base/tokenizer_fast.pth`. They are not copied here: download them unchanged from [nvidia/Fixer](https://huggingface.co/nvidia/Fixer). The simulator uses exactly those files; their checksums are in `fixer/models/SHA256SUMS`.
- Built on NVIDIA Cosmos.
```bash
# into the Odyssey simulator checkout: fixer/models/...
hf download ADRLAB/odyssey-models --include "fixer/*" --local-dir .
hf download nvidia/Fixer --include "base/*" --local-dir fixer/models
# verify
(cd fixer/models && sha256sum -c SHA256SUMS)
```
## License
- **Checkpoints trained by us:** [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/).
- They were trained on NAVSIM/OpenScene data derived from nuPlan, so the [nuPlan terms of use](https://www.nuscenes.org/terms-of-use) also apply.
- Non-commercial use only.
- **Fixer weights** (`fixer/models/finetuned/h1_b16_e1_model_11001.pkl`):
- A Derivative Model of NVIDIA Fixer, distributed under the [NVIDIA Open Model License](https://www.nvidia.com/en-us/agreements/enterprise-software/nvidia-open-model-license/). A copy of the license and the notice are in `fixer/models/`.
- Licensed by NVIDIA Corporation under the NVIDIA Open Model License.
- Built on NVIDIA Cosmos.
- **Upstream files** (`ltf_baseline`, `drivor_baseline`, `recogdrive_baseline`, `ReCogDrive-VLM-2B/`):
- Redistributed under their original [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) license.
- The three checkpoints were modified only by dropping the training state, as described above. The VLM is unmodified.
- Origins are listed in the table.
## Citation
Please cite the upstream works of the models you use:
- [NAVSIM](https://github.com/autonomousvision/navsim), which also provides LTF
- [DrivoR](https://github.com/valeoai/DrivoR)
- [DiffusionDrive](https://github.com/hustvl/DiffusionDrive)
- [SafeDrive](https://github.com/SPA-junghokim/SafeDrive)
- [ReCogDrive](https://github.com/xiaomi-research/recogdrive)
- [NVIDIA Fixer](https://huggingface.co/nvidia/Fixer), for the image restorer