需先按 nuPlan 官方文档下载并配置数据集,否则无法仿真或训练;模型权重需从 Huggingface 单独下载 args.json 与 model.pth 到 checkpoints 目录;运行前要先在 sim_diffusion_planner_runner.sh 中改好配置

Diffusion-Planner
ZhengYinan-AIR更新放缓基于扩散模型的自动驾驶规划器,用扩散生成做轨迹规划,支持灵活引导,是 ICLR 2025 Oral 论文的官方实现。
[ICLR 2025 Oral] The official implementation of "Diffusion-Based Planning for Autonomous Driving with Flexible Guidance"
conda create -n diffusion_planner python=3.9
conda activate diffusion_planner
git clone https://github.com/motional/nuplan-devkit.git && cd nuplan-devkit
pip install -e .
pip install -r requirements.txt
cd ..
git clone https://github.com/ZhengYinan-AIR/Diffusion-Planner.git && cd Diffusion-Planner
pip install -e .
pip install -r requirements_torch.txtREADME 未说明显存与 GPU 型号要求;需按官方文档准备 nuPlan 数据集,训练与闭环仿真通常需要 GPU 环境
基于扩散模型的自动驾驶运动规划官方实现,在 nuPlan 闭环评测上刷新学习类方法成绩
基于扩散模型的自动驾驶规划器,用扩散生成做轨迹规划,支持灵活引导,是 ICLR 2025 Oral 论文的官方实现。
核心能力
- 用 DiT 架构融合加噪未来轨迹与条件信息
- 联合建模关键交通参与者,统一预测与规划
- 扩散采样推理约 20Hz,满足实时性
- 提供分类器引导(Classifier Guidance)演示与文档
- 开源训练代码、数据预处理脚本与模型权重
容易踩的坑
暂无 release 数据(可能没有发版,或尚未同步)。
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Yinan Zheng*, Ruiming Liang*, Kexin Zheng*, Jinliang Zheng, Liyuan Mao, Jianxiong Li, Weihao Gu, Rui Ai, Shengbo Eben Li, Xianyuan Zhan, Jingjing Liu
International Conference on Learning Representation (ICLR), 2025
🌟 Oral Presentation (Notable-top-2%)
The official implementation of Diffusion Planner, which represents a pioneering effort in fully harnessing the power of diffusion models for high-performance motion planning, without overly relying on refinement. Checkout our latest work Flow Planner (NeurIPS 2025), a learning-based framework with advanced interactive behavior modeling. Also checkout Hyper Diffusion Planner, where we unleash the potential of diffusion models for real vehicle deployment. When properly designed and trained, diffusion models can serve as effective and scalable solutions for complex real-world autonomous driving tasks.
Table of Contents
Methods
Diffusion Planner leverages the expressive and flexible diffusion model to enhance autonomous planning:
- DiT-based architecture focusing on the fusion of noised future vehicle trajectories and conditional information
- Joint modeling of key participants' statuses, unifying motion prediction and closed-loop planning as future trajectory generation
- Fast inference during diffusion sampling, achieving around 20Hz for real-time performance
Closed-loop Performance on nuPlan
Learning-based Methods
| Methods | Val14 (NR) | Val14 (R) | Test14-hard (NR) | Test14-hard (R) | Test14 (NR) | Test14 (R) |
|---|---|---|---|---|---|---|
| PDM-Open* | 53.53 | 54.24 | 33.51 | 35.83 | 52.81 | 57.23 |
| UrbanDriver | 68.57 | 64.11 | 50.40 | 49.95 | 51.83 | 67.15 |
| GameFormer w/o refine. | 13.32 | 8.69 | 7.08 | 6.69 | 11.36 | 9.31 |
| PlanTF | 84.72 | 76.95 | 69.70 | 61.61 | 85.62 | 79.58 |
| PLUTO w/o refine.* | 88.89 | 78.11 | 70.03 | 59.74 | 89.90 | 78.62 |
| Diffusion-es w/o LLM | 50.00 | - | - | - | - | - |
| STR2-CPKS-800M w/o refine.* | 65.16 | - | 52.57 | - | 68.74 | - |
| Diffusion Planner (ours) | 89.87 | 82.80 | 75.99 | 69.22 | 89.19 | 82.93 |
*: Using pre-searched reference lines or additional proposals as model inputs provides prior knowledge.
Rule-based / Hybrid Methods
| Methods | Val14 (NR) | Val14 (R) | Test14-hard (NR) | Test14-hard (R) | Test14 (NR) | Test14 (R) |
|---|---|---|---|---|---|---|
| Expert (Log-replay) | 93.53 | 80.32 | 85.96 | 68.80 | 94.03 | 75.86 |
| IDM | 75.60 | 77.33 | 56.15 | 62.26 | 70.39 | 74.42 |
| PDM-Closed | 92.84 | 92.12 | 65.08 | 75.19 | 90.05 | 91.63 |
| PDM-Hybrid | 92.77 | 92.11 | 65.99 | 76.07 | 90.10 | 91.28 |
| GameFormer | 79.94 | 79.78 | 68.70 | 67.05 | 83.88 | 82.05 |
| PLUTO | 92.88 | 76.88 | 80.08 | 76.88 | 92.23 | 90.29 |
| Diffusion-es | 92.00 | - | - | - | - | - |
| STR2-CPKS-800M | 93.91 | 92.51 | 77.54 | 82.02 | - | - |
| Diffusion Planner w/ refine (ours) | 94.26 | 92.90 | 78.87 | 82.00 | 94.80 | 91.75 |
Qualitative Results
Future trajectory generation visualization. A frame from a challenging narrow road turning scenario in the closed-loop test, including the future planning of the ego vehicle (PlanTF and PLUTO w/o refine. showing multiple candidate trajectories), predictions for neighboring vehicles, and the ground truth ego trajectory.
Getting Started
- Setup the nuPlan dataset following the offiical-doc
- Setup conda environment
conda create -n diffusion_planner python=3.9
conda activate diffusion_planner
# install nuplan-devkit
git clone https://github.com/motional/nuplan-devkit.git && cd nuplan-devkit
pip install -e .
pip install -r requirements.txt
# setup diffusion_planner
cd ..
git clone https://github.com/ZhengYinan-AIR/Diffusion-Planner.git && cd Diffusion-Planner
pip install -e .
pip install -r requirements_torch.txt
Closed-loop Evaluation
- Download the model checkpoint from Huggingface repository. Download, two files under
checkpointsdirectory.
mkdir -p checkpoints
wget -P ./checkpoints https://huggingface.co/ZhengYinan2001/Diffusion-Planner/resolve/main/args.json
wget -P ./checkpoints https://huggingface.co/ZhengYinan2001/Diffusion-Planner/resolve/main/model.pth
- Run the simulation
- Set up configuration in sim_diffusion_planner_runner.sh.
- Run
bash sim_diffusion_planner_runner.sh
- Visualize the results
- Set up configuration in run_nuboard.ipynb.
- Launch Jupyter Notebook or JupyterLab to execute run_nuboard.ipynb.
Classifer Guidance Demo
- Set up configuration in sim_diffusion_planner_runner.sh.
- Run
bash sim_guidance_demo.sh
Further detail see Classifier Guidance Doc
Training
- Preprocess the training data
chmod +x data_process.sh
./data_process.sh
- Run the training code
chmod +x torch_run.sh
./torch_run.sh
To Do List
The code is under cleaning and will be released gradually.
- e2e & real world vehicle (Hyper Diffusion Planner)
- delivery vehicle dataset (government approval in progress)
- guidance tutorial
- data preprocess
- training code
- diffusion planner & checkpoint
- initial repo & paper
Bibtex
If you find our code and paper can help, please cite our paper as:
@inproceedings{
zheng2025diffusionbased,
title={Diffusion-Based Planning for Autonomous Driving with Flexible Guidance},
author={Yinan Zheng and Ruiming Liang and Kexin ZHENG and Jinliang Zheng and Liyuan Mao and Jianxiong Li and Weihao Gu and Rui Ai and Shengbo Eben Li and Xianyuan Zhan and Jingjing Liu},
booktitle={The Thirteenth International Conference on Learning Representations},
year={2025},
url={https://openreview.net/forum?id=wM2sfVgMDH}
}
Acknowledgement
Diffusion Planner is greatly inspired by the following outstanding contributions to the open-source community: nuplan-devkit, GameFormer-Planner, tuplan_garage, planTF, pluto, StateTransformer, DiT, dpm-solver