Skip to content

Xformers库(可选)

Xformers库提供了一种可选的方法来加速图像生成。这种增强功能仅适用于NVIDIA GPU,优化图像生成并减少VRAM的使用。0.0.20以下的旧版本将产生非确定性的结果。

重要通知 - 无需手动安装

自2023年1月23日起,无论是Windows还是Linux用户都不需要手动构建Xformers库。当WebUI从用户构建的wheel转变为官方wheel时,这个改变已经实施。您可以在此PR中查看此更新的软件包升级和其他详细信息。

用法

如果您正在使用Pascal、Turing、Ampere、Lovelace或Hopper卡与Python 3.10,只需使用--xformers标志启动存储库即可。兼容的wheel将自动安装。

在Windows上构建xformers(由@duckness提供)

  1. 安装VS Build Tools 2022,您只需要Desktop development with C++

setup_COFbK0AJAZ

  1. 安装CUDA 11.3(未测试更高版本),选择自定义,您只需要以下内容(VS集成可能是不必要的):

setup_QwCdsQ28FM

  1. 克隆xFormers仓库,创建一个venv并激活它
git clone https://github.com/facebookresearch/xformers.git
cd xformers
git submodule update --init --recursive
python -m venv venv
./venv/scripts/activate
  1. 为了避免获取CPU版本的问题,单独安装pyTorch
pip install torch torchvision --extra-index-url https://download.pytorch.org/whl/cu113
  1. 然后安装其余的依赖项:
pip install -r requirements.txt
pip install wheel
  1. 由于CUDA 11.3相对较旧,您需要强制在MS Build Tools 2022上启用它。如果使用powershell,请执行$env:NVCC_FLAGS = "-allow-unsupported-compiler";如果使用cmd,请执行set NVCC_FLAGS=-allow-unsupported-compiler

  2. 最后,您可以构建xFormers,注意构建过程会花费很长时间(可能需要10-20分钟),它可能会最初报告一些错误,但仍然应该正确编译。

可选提示:为了进一步加快多核CPU Windows系统上的速度,请安装ninja https://github.com/ninja-build/ninja。 安装步骤: 1. 从https://github.com/ninja-build/ninja/releases下载ninja-win.zip并解压缩。 2. 将ninja.exe放置在C:\Windows下,或将提取的ninja.exe的完整路径添加到系统PATH中。 3. 在cmd中运行ninja -h,并验证是否打印了帮助消息。 4. 运行以下命令开始构建。它应该自动使用Ninja,无需额外配置。您应该看到显着更高的CPU使用率(40%+)。 python setup.py build python setup.py bdist_wheel 这将把一个在具有AMD 5800X CPU的Windows PC上的构建时间从1.5小时缩短到10分钟。 Ninja也支持Linux和MacOS,但我没有这些操作系统进行测试,因此无法提供逐步教程。

  1. 运行以下命令:
python setup.py build
python setup.py bdist_wheel
  1. xformers目录中,进入dist文件夹,并将.whl文件复制到stable-diffusion-webui的基本目录中。

  2. stable-diffusion-webui目录中,安装.whl文件,如果文件名不同,请在下面的命令中更改文件名:

./venv/scripts/activate
pip install xformers-0.0.14.dev0-cp310-cp310-win_amd64.whl
  1. 确保通过使用--force-enable-xformers选项启动stable-diffusion-webui时激活了xformers

在Linux上构建xformers(来自匿名用户)

  1. 进入webui目录
  2. source ./venv/bin/activate
  3. cd repositories
  4. git clone https://github.com/facebookresearch/xformers.git
  5. cd xformers
  6. git submodule update --init --recursive
  7. pip install -r requirements.txt
  8. pip install -e .