Diffusers 文档
概述
加入 Hugging Face 社区
并获得增强的文档体验
开始使用
概述
🤗 Diffusers 提供了一系列训练脚本,供您训练自己的扩散模型。您可以在 diffusers/examples 中找到我们所有的训练脚本。
每个训练脚本都是
- 自包含:训练脚本不依赖任何本地文件,并且运行脚本所需的所有包都从
requirements.txt
文件中安装。 - 易于调整:训练脚本是如何针对特定任务训练扩散模型的示例,并且不会在每个训练场景中都开箱即用。您可能需要根据您的特定用例调整训练脚本。为了帮助您做到这一点,我们完全公开了数据预处理代码和训练循环,以便您可以根据自己的用途进行修改。
- 初学者友好:训练脚本的设计宗旨是初学者友好且易于理解,而不是包含最新的最先进的方法来获得最佳和最具竞争力的结果。任何我们认为过于复杂的训练方法都有意被排除在外。
- 单用途:每个训练脚本都明确设计为仅用于一项任务,以保持其可读性和可理解性。
我们目前收集的训练脚本包括
训练 | SDXL 支持 | LoRA 支持 | Flax 支持 |
---|---|---|---|
无条件图像生成 | |||
文本到图像 | 👍 | 👍 | 👍 |
Textual inversion | 👍 | ||
DreamBooth | 👍 | 👍 | 👍 |
ControlNet | 👍 | 👍 | |
InstructPix2Pix | 👍 | ||
Custom Diffusion | |||
T2I-Adapters | 👍 | ||
Kandinsky 2.2 | 👍 | ||
Wuerstchen | 👍 |
这些示例是积极维护的,因此如果它们没有按预期工作,请随时提出 issue。如果您认为应该包含另一个训练示例,非常欢迎您启动 功能请求,与我们讨论您的功能想法以及它是否符合我们自包含、易于调整、初学者友好和单用途的标准。
安装
通过在新虚拟环境中从源代码安装库,确保您可以成功运行最新版本的示例脚本
git clone https://github.com/huggingface/diffusers
cd diffusers
pip install .
然后导航到训练脚本的文件夹(例如,DreamBooth)并安装 requirements.txt
文件。某些训练脚本对 SDXL、LoRA 或 Flax 有特定的 requirement 文件。如果您正在使用其中一个脚本,请确保安装其对应的 requirements 文件。
cd examples/dreambooth
pip install -r requirements.txt
# to train SDXL with DreamBooth
pip install -r requirements_sdxl.txt
为了加速训练并减少内存使用,我们建议
- 使用 PyTorch 2.0 或更高版本自动在训练期间使用 scaled dot product attention(您无需对训练代码进行任何更改)
- 安装 xFormers 以启用内存高效的注意力机制