Diffusers 文档

安装

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

安装

🤗 Diffusers 在 Python 3.8+、PyTorch 1.7.0+ 和 Flax 上进行测试。请按照以下针对您正在使用的深度学习库的安装说明进行操作

使用 pip 安装

您应该在虚拟环境中安装 🤗 Diffusers。如果您不熟悉 Python 虚拟环境,请查看此指南。虚拟环境使得管理不同项目并避免依赖项之间的兼容性问题变得更容易。

使用 Python 或 uv(请参阅安装以获取安装说明),一个基于 Rust 的快速 Python 包和项目管理器来创建虚拟环境。

uv
Python
uv venv my-env
source my-env/bin/activate

您还应该安装 🤗 Transformers,因为 🤗 Diffusers 依赖于它的模型。

PyTorch
隐藏 Pytorch 内容

PyTorch 在 Windows 上仅支持 Python 3.8 - 3.11。使用 uv 安装 Diffusers。

uv install diffusers["torch"] transformers

您也可以使用 pip 安装 Diffusers。

pip install diffusers["torch"] transformers
JAX
隐藏 JAX 内容

使用 uv 安装 Diffusers。

uv pip install diffusers["flax"] transformers

您也可以使用 pip 安装 Diffusers。

pip install diffusers["flax"] transformers

使用 conda 安装

激活您的虚拟环境后,使用 conda(由社区维护)

conda install -c conda-forge diffusers

从源代码安装

在从源代码安装 🤗 Diffusers 之前,请确保您已安装 PyTorch 和 🤗 Accelerate。

要安装 🤗 Accelerate

pip install accelerate

然后从源代码安装 🤗 Diffusers

pip install git+https://github.com/huggingface/diffusers

此命令安装的是前沿的 main 版本,而非最新的 stable 版本。main 版本对于保持与最新开发同步非常有用。例如,如果自上次正式发布以来某个 bug 已修复但尚未发布新版本,则可以使用 main 版本。然而,这意味着 main 版本可能并非始终稳定。我们努力保持 main 版本的正常运行,并且大多数问题通常在几小时或一天内解决。如果您遇到问题,请提出 Issue,以便我们能更快地解决!

可编辑安装

如果您想使用以下功能,则需要可编辑安装:

  • 使用源代码的 main 版本。
  • 为 🤗 Diffusers 贡献代码并需要测试代码更改。

使用以下命令克隆仓库并安装 🤗 Diffusers

git clone https://github.com/huggingface/diffusers.git
cd diffusers
PyTorch
隐藏 Pytorch 内容
pip install -e ".[torch]"
JAX
隐藏 JAX 内容
pip install -e ".[flax]"

这些命令会将您克隆仓库的文件夹链接到您的 Python 库路径。Python 现在除了正常的库路径外,还会查找您克隆的文件夹。例如,如果您的 Python 包通常安装在 ~/anaconda3/envs/main/lib/python3.10/site-packages/ 中,Python 也会搜索您克隆的 ~/diffusers/ 文件夹。

如果您想继续使用该库,则必须保留 diffusers 文件夹。

现在,您可以使用以下命令轻松地将您的克隆更新到 🤗 Diffusers 的最新版本

cd ~/diffusers/
git pull

您的 Python 环境将在下次运行时找到 🤗 Diffusers 的 main 版本。

缓存

模型权重和文件从 Hub 下载到缓存,通常是您的主目录。您可以通过指定 HF_HOMEHUGGINFACE_HUB_CACHE 环境变量或在诸如 from_pretrained() 之类的方法中配置 cache_dir 参数来更改缓存位置。

缓存文件允许您离线运行 🤗 Diffusers。为了防止 🤗 Diffusers 连接到互联网,请将 HF_HUB_OFFLINE 环境变量设置为 1,这样 🤗 Diffusers 将仅加载缓存中以前下载的文件。

export HF_HUB_OFFLINE=1

有关管理和清理缓存的更多详细信息,请参阅缓存指南。

遥测日志

我们的库在 from_pretrained() 请求期间收集遥测信息。收集的数据包括 🤗 Diffusers 和 PyTorch/Flax 的版本、请求的模型或管道类,以及(如果托管在 Hugging Face Hub 上)预训练检查点的路径。此使用数据有助于我们调试问题并优先开发新功能。遥测仅在从 Hub 加载模型和管道时发送,如果您加载本地文件,则不会收集遥测。

我们理解并非所有人都希望分享额外信息,我们尊重您的隐私。您可以通过在终端设置 HF_HUB_DISABLE_TELEMETRY 环境变量来禁用遥测收集

在 Linux/MacOS 上

export HF_HUB_DISABLE_TELEMETRY=1

在 Windows 上

set HF_HUB_DISABLE_TELEMETRY=1
< > 在 GitHub 上更新