Hub documentation

在 Hugging Face 上使用 🧨 diffusers

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

在 Hugging Face 上使用 🧨 diffusers

Diffusers 是用于生成图像、音频甚至分子 3D 结构的先进预训练扩散模型的首选库。无论您是寻求简单的推理方案,还是希望训练自己的扩散模型,Diffusers 都是一个支持这两者的模块化工具箱。该库的设计侧重于易用性而非性能、简洁而非简单,以及可定制性而非抽象。

在 Hub 中探索 Diffusers

Hub 上有超过 10,000 个兼容 diffusers 的流水线,您可以在 模型页面 左侧通过筛选找到它们。扩散系统通常由多个组件组成,例如文本编码器、UNet、VAE 和调度器。尽管它们并非独立的模型,但流水线抽象使得将它们用于推理或训练变得十分便捷。

您可以找到适用于许多不同任务的扩散模型流水线:

如果您想在不下载模型的情况下进行测试,可以借助浏览器内的小部件直接在浏览器中试用这些模型!

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() 方法与他人共享。

有关更多详细信息,请参阅文档。

其他资源

Update on GitHub