--- 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