安装
🤗 Diffusers 在 Python 3.8+、PyTorch 1.7.0+ 和 Flax 上经过测试。请按照以下说明安装您使用的深度学习库
使用 pip 安装
您应该在 虚拟环境 中安装 🤗 Diffusers。如果您不熟悉 Python 虚拟环境,请查看此 指南。虚拟环境使管理不同的项目并避免依赖项之间的兼容性问题变得更容易。
首先在您的项目目录中创建一个虚拟环境
python -m venv .env
激活虚拟环境
source .env/bin/activate
您还应该安装 🤗 Transformers,因为 🤗 Diffusers 依赖于它的模型
注意 - PyTorch 在 Windows 上只支持 Python 3.8 - 3.11。
pip install diffusers["torch"] transformers
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
版本对于及时了解最新发展很有用。例如,如果自上次正式发布以来已修复了一个错误,但尚未发布新版本。但是,这意味着 main
版本可能并不总是稳定。我们努力保持 main
版本的操作,大多数问题通常会在几个小时或一天内解决。如果您遇到问题,请打开一个 Issue,以便我们能够更快地解决它!
可编辑安装
如果您想,则需要可编辑安装
- 使用源代码的
main
版本。 - 为 🤗 Diffusers 贡献代码并需要测试代码中的更改。
克隆存储库并使用以下命令安装 🤗 Diffusers
git clone https://github.com/huggingface/diffusers.git
cd diffusers
pip install -e ".[torch]"
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_HOME
或 HUGGINFACE_HUB_CACHE
环境变量或在诸如 from_pretrained() 之类的方法中配置 cache_dir
参数来更改缓存位置。
缓存文件允许您离线运行 🤗 Diffusers。要阻止 🤗 Diffusers 连接到互联网,请将 HF_HUB_OFFLINE
环境变量设置为 True
,🤗 Diffusers 将只加载缓存中之前下载的文件。
export HF_HUB_OFFLINE=True
有关管理和清理缓存的更多详细信息,请查看 缓存 指南。
遥测日志记录
我们的库在使用 from_pretrained() 方法请求时收集遥测信息。收集的数据包括 🤗 Diffusers 和 PyTorch/Flax 的版本,请求的模型或管道类,以及如果预训练检查点托管在 Hugging Face Hub 上,则包括其路径。这些使用数据有助于我们调试问题并优先考虑新功能。只有在从 Hub 加载模型和管道时才会发送遥测信息,如果您加载本地文件,则不会收集遥测信息。
我们理解并非所有人都希望共享额外信息,我们尊重您的隐私。您可以通过在终端设置 DISABLE_TELEMETRY
环境变量来禁用遥测信息的收集。
在 Linux/MacOS 上
export DISABLE_TELEMETRY=YES
在 Windows 上
set DISABLE_TELEMETRY=YES