Skip to content

Windows

Windows+AMD支持尚未正式为webui提供,但您可以安装lshqqytiger的webui分支,该分支使用Direct-ml。

目前训练功能尚不可用,但支持各种功能/扩展,如LoRAs和controlnet。请在https://github.com/lshqqytiger/stable-diffusion-webui-directml/issues上报告问题。

  1. 安装Python 3.10.6(勾选Add to PATH),以及git
  2. 在cmd/终端中粘贴以下命令:git clone https://github.com/lshqqytiger/stable-diffusion-webui-directml && cd stable-diffusion-webui-directml && git submodule init && git submodule update(您可以将程序文件夹移动到其他位置。)
  3. 双击webui-user.bat。
  4. 如果在安装或运行时看起来卡住了,请在终端中按Enter键,它应该会继续运行。

如果您有4-6GB的显存,请尝试将以下标志添加到webui-user.bat中:

COMMANDLINE_ARGS=--opt-sub-quad-attention --lowvram --disable-nan-check

(以下是适用于Linux的安装指南。)

自动安装

(截至1/15/23,您只需运行webui.sh,pytorch+rocm将自动安装。)

  1. 输入以下命令,将webui安装到当前目录:
sudo apt install git python3.10-venv -y
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui && cd stable-diffusion-webui
python3.10 -m venv venv
  1. 安装并运行:

    ./webui.sh {your_arguments*}

对于许多AMD GPU,您必须*添加--precision full --no-half--upcast-sampling参数以避免NaN错误或崩溃。 如果--upcast-sampling在您的卡上起作用作为修复方法,与使用完全精度相比,您应该有2倍的速度(fp16)。

- 一些卡片,如Radeon RX 6000系列和RX 500系列,已经可以完美地运行fp16(在此处有说明)。 - 如果您的卡片无法使用最新的pytorch+rocm核心软件包运行SD,请尝试按照下面的更详细的安装指南安装先前的版本。

本地运行

执行以下命令:

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
cd stable-diffusion-webui
python -m venv venv
source venv/bin/activate
python -m pip install --upgrade pip wheel

# 可能你不需要"--precision full",但是去掉"--no-half"会导致我的驱动程序崩溃
TORCH_COMMAND='pip install torch torchvision --extra-index-url https://download.pytorch.org/whl/rocm5.1.1' python launch.py --precision full --no-half

在接下来的运行中,你只需要执行以下命令:

cd stable-diffusion-webui
# 可选:执行 "git pull" 来更新仓库
source venv/bin/activate

# 可能你不需要"--precision full",但是去掉"--no-half"会导致我的驱动程序崩溃
TORCH_COMMAND='pip install torch torchvision --extra-index-url https://download.pytorch.org/whl/rocm5.1.1' python launch.py --precision full --no-half

在启动WebUI后的第一代可能需要很长时间,并且你可能会看到类似以下的消息:

MIOpen(HIP): Warning [SQLiteBase] Missing system database file: gfx1030_40.kdb Performance may degrade. Please follow instructions to install: https://github.com/ROCmSoftwarePlatform/MIOpen#installing-miopen-kernels-package

接下来的几代应该可以正常运行。你可以点击消息中的链接,如果你使用的是相同的操作系统,按照链接中的步骤来解决这个问题。如果没有明确的方法来编译或安装适用于你的操作系统的MIOpen内核,请考虑按照下面的"在Docker中运行"指南进行操作。

在Docker中运行

拉取最新的rocm/pytorch Docker镜像,启动镜像并附加到容器中(参考rocm/pytorch文档):docker run -it --network=host --device=/dev/kfd --device=/dev/dri --group-add=video --ipc=host --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v $HOME/dockerx:/dockerx rocm/pytorch

在容器中执行以下命令:

cd /dockerx
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
cd stable-diffusion-webui
python -m pip install --upgrade pip wheel

# 可能你不需要"--precision full",但是去掉"--no-half"会导致我的驱动程序崩溃
REQS_FILE='requirements.txt' python launch.py --precision full --no-half

接下来的运行只需要重新启动容器,再次附加到容器中,并在容器中执行以下命令:从列表中找到容器名称:docker container ls --all,选择与rocm/pytorch镜像匹配的容器,重新启动它:docker container restart <container-id>,然后附加到它:docker exec -it <container-id> bash

cd /dockerx/stable-diffusion-webui
# 可选:更新代码库
git pull

# 可能不需要 "--precision full",但是去掉 "--no-half" 会导致我的驱动程序崩溃
REQS_FILE='requirements.txt' python launch.py --precision full --no-half

容器中的 /dockerx 文件夹应该在您的主目录下以相同的名称可访问。

在 Docker 中更新 Python 版本

如果 Docker 镜像中预安装的 Python 3.7 版本与 Web UI 不兼容,可以按照以下步骤更新(假设您已经成功执行了 "在 Docker 中运行"):

在容器中执行以下命令:

apt install python3.9-full # 确认每个提示
update-alternatives --install /usr/local/bin/python python /usr/bin/python3.9 1
echo 'PATH=/usr/local/bin:$PATH' >> ~/.bashrc

运行 source ~/.bashrc,然后继续执行与现有容器相同的命令。

可能不需要 "--precision full",但是去掉 "--no-half" 可能不适用于所有人。某些显卡,如 Radeon RX 6000 系列和 RX 500 系列,将在没有选项 --precision full --no-half 的情况下正常工作,从而节省大量 VRAM。(参见此处。)

在 AMD 和 Arch Linux 上安装

在 Arch Linux 上使用特定于 Arch 的软件包安装 Web UI
也可能适用于其他基于 Arch 的 Linux 发行版(测试于2023年2月22日)

Arch 特定的依赖项

  1. 首先安装必需的依赖项并安装pip
sudo pacman -S python-pip
  1. 使用ROCm后端安装pytorch

Arch [Community] 仓库提供了两个pytorch软件包,python-pytorch-rocmpython-pytorch-opt-rocm。对于支持AVX2指令集的CPU,即超过Haswell(Intel,2013年)或Excavator(AMD,2015年)的CPU微架构,安装python-pytorch-opt-rocm以获得性能优化。否则,安装python-pytorch-rocm

# 安装其中一个:
sudo pacman -S python-pytorch-rocm
sudo pacman -S python-pytorch-opt-rocm   # 仅适用于AVX2 CPU
  1. 使用ROCm后端安装torchvision

python-torchvision-rocm软件包位于AUR中。在您的计算机上克隆git仓库并编译软件包

git clone https://aur.archlinux.org/python-torchvision-rocm.git
cd python-torchvision-rocm
makepkg -si

确认所有步骤,直到Pacman完成安装python-torchvision-rocm

或者,使用AUR助手安装python-torchvision-rocm软件包。

设置 venv 环境

  1. 手动创建一个带有系统 site-packages 的 venv 环境(这将允许访问系统的 pytorchtorchvision)。安装剩余的 Python 依赖项
python -m venv venv --system-site-packages
source venv/bin/activate
pip install -r requirements.txt

启动

在项目根目录下运行以下命令启动 webui:

source venv/bin/activate
./webui.sh

根据 GPU 型号的不同,您可能需要在 webui-user.sh 中添加特定的命令行参数优化设置,以使 webui 正常运行。请参考自动安装部分。

限制

  • GPU 型号必须受到 Arch 依赖项的支持

查看您的 GPU 是否在 PYTORCH_ROCM_ARCH 变量的构建架构中列出,参考TourchvisionPyTorch。架构的参考资料可以在这里找到。如果没有列出您的 GPU,请考虑在本地构建这两个软件包,或使用其他安装方法

  • Arch依赖项(pytorchtorchvision)通过完整的系统更新(pacman -Syu)和编译来保持最新,这可能不是希望的行为,因为可能希望使用固定版本的依赖项组合

本指南已在AMD Radeon RX6800上测试,使用Python 3.10.9,ROCm 5.4.3,PyTorch 1.13.1和Torchvision 0.14.1