Diffusers 文档

概览

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

概述

🤗 Diffusers 提供了一系列训练脚本,供您训练自己的扩散模型。您可以在 diffusers/examples 中找到所有训练脚本。

每个训练脚本都具有以下特点:

  • 自给自足:训练脚本不依赖任何本地文件,运行脚本所需的所有包都通过 requirements.txt 文件安装。
  • 易于调整:训练脚本是针对特定任务训练扩散模型的示例,并非适用于所有训练场景。您可能需要根据自己的特定用例调整训练脚本。为了帮助您完成此操作,我们已完全公开数据预处理代码和训练循环,以便您可以根据自己的用途进行修改。
  • 新手友好:训练脚本旨在对新手友好且易于理解,而不是包含最新的最先进方法以获得最佳和最具竞争力的结果。我们认为过于复杂的训练方法会被有意省略。
  • 单一用途:每个训练脚本都明确设计用于一项任务,以保持其可读性和可理解性。

我们当前的训练脚本集合包括:

训练 支持 SDXL 支持 LoRA 支持 Flax
无条件图像生成 在 Colab 中打开
文本到图像 👍 👍 👍
文本反转 在 Colab 中打开 👍
DreamBooth 在 Colab 中打开 👍 👍 👍
ControlNet 👍 👍
InstructPix2Pix 👍
Custom Diffusion
T2I-Adapters 👍
Kandinsky 2.2 👍
Wuerstchen 👍

这些示例得到积极维护,因此如果它们未按预期工作,请随时提出问题。如果您认为应包含其他训练示例,欢迎提出功能请求,与我们讨论您的功能想法以及它是否符合我们自给自足、易于调整、新手友好和单一用途的标准。

安装

通过在新虚拟环境中从源代码安装库,确保您可以成功运行最新版本的示例脚本:

git clone https://github.com/huggingface/diffusers
cd diffusers
pip install .

然后导航到训练脚本的文件夹(例如,DreamBooth)并安装 requirements.txt 文件。某些训练脚本对 SDXL、LoRA 或 Flax 有特定的需求文件。如果您正在使用其中一个脚本,请确保安装其相应的需求文件。

cd examples/dreambooth
pip install -r requirements.txt
# to train SDXL with DreamBooth
pip install -r requirements_sdxl.txt

为了加快训练速度并减少内存使用,我们建议:

  • 使用 PyTorch 2.0 或更高版本,以便在训练期间自动使用缩放点积注意力(您无需对训练代码进行任何更改)
  • 安装xFormers以启用内存高效注意力
< > 在 GitHub 上更新