dpm-solver

10步内完成扩散模型采样,图像生成提速数倍

DPM-Solver 是 NeurIPS 2022 Oral 论文的官方实现,针对扩散概率模型(DPM)采样速度慢的问题,提出了一种基于常微分方程(ODE)的高阶快速求解器。传统扩散模型采样通常需要数百步去噪迭代,而 DPM-Solver 通过数学推导将采样过程转化为 ODE 求解,在保持生成质量的同时,将采样步数大幅压缩至 10 步左右,甚至可低至 4-5 步。该工具支持多种扩散模型架构,包括基于分数(score-based)的生成模型和 Stable Diffusion 等主流文生图模型,提供简洁的 API 接口,可无缝集成到现有 PyTorch 流程中。核心能力包括:高阶 ODE 求解器(支持 1 阶、2 阶、3 阶)、自适应步长与噪声调度优化、以及针对不同模型(如 DDPM、SDE)的适配方案,显著提升推理效率,适用于实时图像生成、移动端部署等对延迟敏感的场景。

开源 free 图像生成
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1856
维护状态 低维护
是否开源 是
定价模式 free

项目数据

分类图像生成
开发团队LuChengTHU
所属国家
官网地址
定价模式free
价格说明开源项目,MIT许可证,完全免费,可自行部署使用。
访问状态
是否开源是
开源协议MIT
主要语言Python
技术栈/模型diffusion-models,machine-learning,score-based-generative-models,stable-diffusion
GitHub 星标★ 1856
30天Star增速
HF 下载量
上线时间2022-08-07 00:00:00
最近更新2026-09-17 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数1

使用教程

难度:进阶 约 15 分钟 部署方式:库/依赖 5 步

⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。

环境要求

  • Python 环境(项目为 Python 实现)
  • PyTorch 及相关扩散模型运行环境
  • Git(用于克隆官方仓库)
  • 一个可用的扩散模型(如 Guided-Diffusion、Stable-Diffusion 等)

安装与启动步骤

  1. 1克隆官方仓库

    从 GitHub 拉取 DPM-Solver 官方代码仓库到本地,这是后续所有操作的基础。

    git clone https://github.com/LuChengTHU/dpm-solver.git
  2. 2进入项目目录

    切换到刚克隆下来的仓库目录,后续按仓库内说明安装依赖、运行脚本。

    cd dpm-solver
  3. 3按仓库说明安装依赖

    本次 README 节选未给出任何 pip/conda 安装命令与依赖清单,请打开仓库内完整 README 按其实际说明安装,勿臆测包名。

  4. 4接入 Diffusers 使用

    README 明确有“Use the SOTA Multistep DPM-Solver++ with Diffusers”章节,说明可直接在 Diffusers 中使用 DPM-Solver++,具体调用代码见该章节(节选被截断)。

  5. 5直接用于采样

    DPM-Solver 是免训练的快速 ODE 求解器,可直接替换现有扩散模型的采样器,无需重新训练模型。

如何确认成功

README 未提供启动成功判定方式;运行仓库示例后若能以约 10~20 次函数评估生成高质量样本即为生效。

常见问题

Q:需要重新训练模型吗?

A:不需要。README 明确说明 DPM-Solver 适用于离散时间和连续时间扩散模型,且无需任何额外训练。

Q:采样需要多少步?

A:README 给出的实验结果是仅需约 10~20 次函数评估(function evaluations)即可在多个数据集上生成高质量样本。

Q:支持哪些模型?

A:README 展示了与 Guided-Diffusion、Stable-Diffusion、DiffEdit 的配合效果,并提供了在 Diffusers 中使用 DPM-Solver++ 的章节。

Q:为什么没有安装命令?

A:本次提供的 README 节选未包含安装与依赖说明,为避免编造包名和参数,仅给出可确认的仓库克隆步骤。

注意事项

  • README 节选未给出安装命令、依赖列表、端口或路径,因此步骤中未提供这些内容,请以仓库完整 README 为准。
  • DPM-Solver 是扩散模型采样求解器/代码库,不是可独立启动的应用或服务,需配合扩散模型代码使用。
  • README 中的示例图涉及 Guided-Diffusion、Stable-Diffusion、DiffEdit 与 Diffusers,具体接入代码需查阅对应章节。

核心亮点

  • 采样步数从数百降至10步左右,速度提升可达20倍以上
  • 官方实现,算法经过严格理论验证,生成质量与原始模型相当
  • 支持Stable Diffusion等主流模型,API简洁易集成

不足之处

  • 对非连续时间步长或特定噪声调度可能需调参,开箱即用性一般
  • 文档偏学术,缺少面向初学者的快速上手教程
  • 项目更新频率较低,社区活跃度一般

适用场景

  • 实时或交互式图像生成,如AI绘画工具、设计辅助
  • 大规模批量生成场景,降低算力成本
  • 移动端或边缘设备上的扩散模型推理

替代项目

DDIM、UniPC、DPM-Solver++

项目介绍

dpm-solver 是模型训练领域的开源项目,由 LuChengTHU 开发,2022 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(1,856)位列前 30%,在模型训练分类中处于中上游。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-17。MIT许可证,完全免费,可自行部署使用。

它主要面向的使用场景是:实时或交互式图像生成,如AI绘画工具、设计辅助。同类可对比的替代方案包括 DDIM、UniPC、DPM-Solver++。

上一篇:lora-scripts

下一篇:TinyEngram

同类项目推荐

Long-RL 开源

让强化学习轻松驾驭超长序列,训练更稳更快

Long-RL: Scaling RL to Long Sequences (NeurIPS 2025)

★ 729 2026-08-09
TPA 开源

把注意力复杂度从平方降到线性,长序列不再卡顿

[NeurIPS 2025 Spotlight] TPA: Tensor ProducT ATTenTion Transformer (https://arxiv.or···

★ 463 2026-08-09
minimind 开源

两小时造出你的小模型,练手入门不求人

Train a 64M-parameter LLM from scratch in just 2h!

★ 62178 2026-08-09
pruna 开源

一键优化 AI 模型,推理提速又省资源。

Pruna is a model optimization framework built for developers, enabling you to delive···

★ 1286 2026-08-13