
diffusers
一个工具库搞定图像视频音频生成,拿来即用
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 34886
使用教程
ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。
环境要求
- Python 环境(建议使用虚拟环境安装)
- PyTorch(请按 PyTorch 官方文档安装对应版本)
- 可用 pip 或 Conda 包管理器
- 运行官方示例需要 NVIDIA GPU(示例代码使用 cuda 与 float16)
安装与启动步骤
-
1创建虚拟环境
README 建议在虚拟环境中安装 Diffusers,避免与系统包冲突。先进入你的项目目录再执行。
python -m venv .venv -
2激活虚拟环境
Windows 与 Linux/macOS 激活命令不同,激活后命令行前会出现环境名。
source .venv/bin/activate -
3安装 PyTorch
README 提示安装 Diffusers 前请参考 PyTorch 官方文档,按你的 CUDA 版本选择安装命令。
pip install torch -
4安装 Diffusers
从 PyPI 安装 Diffusers,也可改用 Conda 安装。
pip install diffusers -
5写 Quickstart 脚本
新建 quickstart.py,粘贴 README 中的示例代码,用 from_pretrained 加载预训练扩散模型生成图像。
from diffusers import DiffusionPipeline import torch pipeline = DiffusionPipeline.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5", dtype=torch.float16) pipeline.to("cuda") pipeline("An image of a squirrel in Picasso style").images[0] -
6运行生成图像
首次运行会自动从 Hugging Face Hub 下载模型权重,耗时较长,请保持网络畅通。
python quickstart.py -
7尝试底层组件
README 还给出用 DDPMScheduler 与 UNet2DModel 自行搭建扩散流程的示例,可进阶学习。
from diffusers import DDPMScheduler, UNet2DModel from PIL import Image import torch scheduler = DDPMScheduler.from_pretrained("google/ddpm-cat-256") model = UNet2DModel.from_pretrained("google/ddpm-cat-256").to("cuda") scheduler.set_timesteps(50)
如何确认成功
运行 python quickstart.py 无报错,最后一行返回一张 PIL 图像,即为成功。
常见问题
Q:必须先安装 PyTorch 吗?
A:是。Diffusers 基于 PyTorch,README 明确建议先参考 PyTorch 官方文档安装好与本机 CUDA 匹配的版本,再安装 Diffusers。
Q:预训练模型从哪里获取?
A:代码中的 from_pretrained 会自动从 Hugging Face Hub 下载,可在 Hub 上按 library=diffusers 筛选,README 提到有 30000+ 个 checkpoint 可选。
Q:没有 GPU 能运行吗?
A:README 示例使用 pipeline.to("cuda") 和 float16 精度,属于 GPU 场景;无 GPU 时需去掉 cuda 相关调用,速度会明显变慢。
Q:第一次运行为什么很慢?
A:首次执行需要从 Hugging Face Hub 下载模型权重文件,体积较大,下载完成后再次运行会快很多。
注意事项
- recommended 使用虚拟环境安装,避免污染系统 Python 环境
- 示例中 dtype=torch.float16 需要 GPU 支持,低显存显卡也能受益
- 30,000+ 预训练模型均可通过 from_pretrained 一键加载
- 底层 DDPMScheduler 与 UNet2DModel 可用于自建扩散系统,适合进阶研究
核心亮点
- 提供统一的扩散模型训练与推理接口,覆盖图像、视频、音频多模态生成,生态完整
- 深度集成PyTorch,支持Flux、Stable Diffusion等主流模型,社区活跃且文档丰富
- 支持图像到图像、图像到视频等复杂任务,并内置优化(如注意力切片)降低显存占用
不足之处
- API抽象层次较高,自定义模型或精细控制时需深入源码,学习曲线陡峭
- 依赖众多(如transformers、accelerate),版本更新频繁,环境配置易出兼容性问题
适用场景
- 快速原型验证:基于预训练模型生成图像、视频或音频
- 学术研究:复现论文、微调扩散模型或开发新架构
- 生产部署:通过Pipeline集成到应用,支持批量生成与后处理
替代项目
ComfyUI、Stable Diffusion WebUI、InvokeAI
同类项目推荐
anthropic-sdk-go
开源
官方 Go SDK,类型安全调用 Claude 模型
Access to Anthropic's safety-first language model APIs via Go
awesome-langchain
开源
一站式找到 LangChain 生态好工具,少走弯路
Awesome list of tools and projects with the awesome LangChain framework
spring-ai-agent-utils
开源
在 Spring 应用里几行代码组装出会调工具的 AI 代理
A Spring AI library that brings Claude Code-inspired tools and agent skills to your ···
panes
开源
几步搞定弹窗卡片面板,任意框架通用
Create dynamic modals, cards, panes for your applications in few steps. Any framewor···
ado
开源
把实验设计、跑批、分析一条龙管起来,省心复现结果。
A framework for designing, executing and analysing experiment campaigns
superpowers
开源
给 AI 编程代理装上开发流程,写代码不再跑偏
An agentic skills framework & software development methodology that works.
llms-with-matlab
开源
在 MATLAB 里几行代码直连 GPT、Azure 与本地 Ollama
Connect MATLAB to LLM APIs, including OpenAI® Chat Completions, Azure® OpenAI Serv···
oasf
开源
给 AI Agent 定统一数据契约,跨框架对接不再靠猜
Open Agentic Schema Framework
Antigravity-Deck
开源
一条命令部署,任何设备远程操控你的 AI 工作区
Remote control for Antigravity — manage AI conversations, workspaces, and agents fr···