Hub documentation
在 Hugging Face 上使用 🧨 diffusers
在 Hugging Face 上使用 🧨 diffusers
Diffusers 是用于生成图像、音频甚至分子 3D 结构的先进预训练扩散模型的首选库。无论您是寻求简单的推理方案,还是希望训练自己的扩散模型,Diffusers 都是一个支持这两者的模块化工具箱。该库的设计侧重于易用性而非性能、简洁而非简单,以及可定制性而非抽象。
在 Hub 中探索 Diffusers
Hub 上有超过 10,000 个兼容 diffusers 的流水线,您可以在 模型页面 左侧通过筛选找到它们。扩散系统通常由多个组件组成,例如文本编码器、UNet、VAE 和调度器。尽管它们并非独立的模型,但流水线抽象使得将它们用于推理或训练变得十分便捷。
您可以找到适用于许多不同任务的扩散模型流水线:
- 根据自然语言文本提示生成图像(文本到图像)。
- 使用自然语言文本提示词对图像进行转换(image-to-image)。
- 根据自然语言描述生成视频(text-to-video)。
如果您想在不下载模型的情况下进行测试,可以借助浏览器内的小部件直接在浏览器中试用这些模型!

Diffusers 仓库文件
Diffusers 模型仓库包含所有必需的模型子组件,例如用于编码图像和解码潜在表示的变分自编码器、文本编码器、Transformer 模型等。这些子组件被组织成多文件夹布局。

每个子文件夹都包含各个组件的权重和配置(如适用),类似于 Transformers 模型。
权重通常以 safetensors 文件的形式存储,而配置文件通常是一个包含模型架构信息的 json 文件。
使用现有管道
所有 diffusers 流水线都只需一行代码即可使用!要运行生成任务,我们建议始终从 DiffusionPipeline 开始:
from diffusers import DiffusionPipeline
pipeline = DiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0")如果您想加载特定的流水线组件,例如 UNet,可以通过以下方式实现:
from diffusers import UNet2DConditionModel
unet = UNet2DConditionModel.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0", subfolder="unet")共享您的管道和模型
所有 pipeline 类、model 类 和 scheduler 类 均与 Hub 完全兼容。更具体地说,它们可以通过 from_pretrained() 方法轻松地从 Hub 加载,并可以使用 push_to_hub() 方法与他人共享。
有关更多详细信息,请参阅文档。