diffusers
全球最主流的扩散模型推理与训练基础设施库,几行代码即可调用 Stable Diffusion、Flux、CogVideo 等 87 种生成模型
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
全球最主流的扩散模型推理与训练基础设施库,几行代码即可调用 Stable Diffusion、Flux、CogVideo 等 87 种生成模型
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:🤗 Diffusers 库概览 — 集成了业界主流扩散模型的核心架构示意
想象一下,你走进一家拥有全球最顶尖画笔、颜料和画布的仓库,但仓库里堆满了工具箱,每个箱子写着不同的名字——Stable Diffusion 箱子、CogVideo 箱子、Flux 箱子。如果你每次创作都要先花半天研究怎么打开这些箱子,创作的热情早就消磨殆尽了。
🤗 Diffusers 正是这样一座「通用画布仓库」的图纸:它不负责画画,但它把全球最强大的 AI 生成模型(图像、视频、音频、三维分子)打包成几行代码就能调用的「管道」(Pipeline),让创作者把精力放回创作本身,而不是折腾技术细节。
Diffusers 由 Hugging Face 团队于 2022 年正式开源,定位是「State-of-the-art diffusion models 的 PyTorch 实现库」。截至 2026 年初,该项目在 GitHub 累计斩获 33,691 颗星,拥有 7,000 多个 Fork,活跃 issue 超过 1,100 个,是当前扩散模型领域引用量最高的开源库之一。
扩散模型(Diffusion Model)最早源于 2020 年的 DDPM 论文,核心原理是「逐步加噪再逐步去噪」——给图片反复添加噪声直到变成纯噪声,再训练一个神经网络学会「逆向操作」,把噪声一步步还原成清晰图像。这一过程就像教一个人从白纸上凭空想象出一幅画:先想象画被打碎的样子,再学会把碎片拼回去。
Hugging Face 在此基础上构建了完整的工具链生态,使得 Diffusers 不只是学术复现,而真正成为了工业级基础设施。Stability AI 的 Stable Diffusion 系列、字节跳动的 CogVideo、腾讯混元的 HunYuan Video、字节最新视频模型 Wan、Mochi、PixArt-α 等数十个模型均通过 Diffusers 向社区开放。
Diffusers 官方文档开篇明义,提出了三条设计哲学:
| 原则 | 含义 |
|---|---|
| Usability over Performance | 好用比极致性能更重要,不为 1% 的提升牺牲 99% 的用户体验 |
| Simple over Easy | 简单(正确的抽象)比容易(一键黑盒)更值得追求 |
| Customizability over Abstractions | 可定制性优先,不过度封装以至于用户无法干预 |
这套理念直接影响了代码架构:Diffusers 几乎不在底层做黑盒优化,而是把 Pipeline(管道)、Scheduler(调度器)、Model(模型) 三大组件清晰解耦。用户既可以一行代码跑完整推理,也可以深入调参每个去噪步骤。
Pipeline 是 Diffusers 最核心的 API,用法极度简洁:
from diffusers import DiffusionPipeline
pipe = DiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-3-medium-diffusers")
image = pipe(prompt="一只穿西装的猫在写代码").images[0]
image.save("output.png")
这一行 from_pretrained 背后完成了模型权重下载、配置加载、调度器初始化等一系列操作。开发者无需关心模型文件结构、权重格式或推理流程,只需传入 prompt 即可拿到结果。目前 Diffusers 支持 87 个官方 pipeline,涵盖:
Scheduler(调度器)控制扩散过程的噪声添加/去除策略,不同调度器在「速度」和「质量」之间有不同的权衡。Diffusers 内置了 DDPM、DDIM、Euler、Euler A、DPM-Solver++、UniPC、PNDM 等十余种调度器:
from diffusers import DDIMScheduler, EulerDiscreteScheduler
# 换调度器就像换镜头——同一台相机,不同效果
pipe.scheduler = DDIMScheduler.from_config(pipe.scheduler.config)
用户可以像换镜头一样切换调度器,实现 5 步快速出图(Euler A)或 50 步高质量出图(DDPM)的差异化体验,而无需更换模型权重。
Diffusers 的模型层采用模块化设计,将 UNet、VAE、Text Encoder 分离存储:
from diffusers import UNet2DConditionModel, AutoencoderKL
model = UNet2DConditionModel.from_pretrained(
"stabilityai/stable-diffusion-xl-base-1.0",
subfolder="unet"
)
这种设计允许高级用户只替换其中一个组件(例如换用更大的 Text Encoder),而保留其他部分不变,大幅降低定制化训练的成本。
Diffusers 通过 pip 安装,核心依赖仅为 PyTorch:
pip install diffusers
# 完整版(含所有可选依赖)
pip install diffusers[torch]
| 模型规模 | 最低显存 | 推荐显存 |
|---|---|---|
| Stable Diffusion 1.5 | 4GB | 8GB |
| Stable Diffusion XL | 8GB | 12GB |
| Stable Diffusion 3 | 12GB | 24GB |
| Flux.1 | 16GB | 24GB+ |
纯 CPU 推理技术上可行,但出图速度极慢(单张数分钟到数十分钟),仅建议在无 GPU 环境下尝试验证。
官方在 docker/ 目录下提供了 7 种预配置镜像,涵盖 PyTorch CPU/CUDA、ONNX Runtime CPU/CUDA、xFormers 优化版等变体。以 CUDA 镜像为例:
# docker/diffusers-pytorch-cuda/Dockerfile
# 基于 nvidia/cuda:12.9.1-runtime-ubuntu24.04
# 包含 PyTorch + torchvision + torchaudio(cu129)
# 包含 accelerate、numpy、pytorch-lightning
注意:根目录没有统一的 Dockerfile 和 docker-compose.yml,无法做到一键拉起完整推理服务。如需 Web UI,推荐搭配 Gradio 或 Streamlit 自行封装。
src/diffusers/
├── pipelines/ # 87个官方pipeline实现(Stable Diffusion, Flux, CogVideo...)
├── schedulers/ # 10+种去噪调度器(DDPM, DDIM, Euler, DPM-Solver...)
├── models/ # UNet、VAE、Text Encoder 等核心模型架构
├── loaders/ # 权重加载、HuggingFace Hub 集成
├── guiders/ # 引导策略(classifier guidance, IP-Adapter)
├── hooks/ # 训练/推理生命周期钩子
├── quantizers/ # INT8/INT4 量化工具
└── utils/ # 通用工具函数
examples/ # 训练示例(Dreambooth, LoRA, ControlNet, CogVideo...)
scripts/ # 模型转换脚本(91个转换器)
Diffusers 本质上是一个「模型推理与训练基础设施」,它本身不包含训练数据,也不是一个完整的端到端 AI 系统。它构建在 PyTorch 之上,向上承接 HuggingFace Hub 的模型分发生态,向下对接 NVIDIA GPU 的 CUDA 算力。在 AI 生态中,它扮演的是「扩散模型的标准运行容器」角色——无论底层用的是 Stable Diffusion 还是 CogVideo,上层 API 完全一致。
代码库内置了 INT8/INT4 量化工具(quantizers/ 目录),并支持 torch.compile() 编译加速。对于显存受限场景,可以配合 accelerate 库的模型卸载(offload)功能,在消费级显卡上运行大模型。
HuggingFace 为 Diffusers 维护了极其详尽的文档体系,包括:
无原生 Web UI:需要用户自行封装 Gradio/Streamlit,增加了非技术用户的上手门槛。社区有多个基于 Diffusers 的 Web UI 项目(如 AUTOMATIC1111 的 WebUI),但不属于官方维护。
GPU 强依赖:即便有量化优化,大模型仍然需要专业级 GPU 才能流畅运行,消费级用户的使用成本较高。
模型权重授权问题:部分预置 pipeline 支持的模型(如 DeepFloyd IF)存在商业授权限制,用户需自行确认合规性。
维护压力:87 个 pipeline 的活跃维护意味着持续的人力投入,当前 open issues 超过 1,100 个,社区响应速度面临挑战。
Diffusers 的出现,重新定义了 AI 生成内容(AIGC)领域的开源基础设施标准。它以「工具链而非模型」的定位,将扩散模型从研究论文中解放出来,成为任何人用几行代码就能调用的生产级能力。
从数据角度看,Diffusers 的 stars 增长曲线与 AIGC 爆发的时间线高度吻合:2022-2023 年增长最快,恰好对应 Stable Diffusion 开放和 Midjourney 爆火的时间节点。截至 2026 年,33,691 颗星、7,000 Fork 的规模,意味着它已经是全球最具影响力的扩散模型开源项目。
未来,随着视频生成(Mochi、Wan)、3D 生成(Shap-E)、音频生成(Stable Audio)的成熟,Diffusers 作为「多模态生成统一接口」的战略价值将持续放大——无论底层模型如何迭代,用户只需学习一套 API,无需每次更换工具链。