Windows
Windows+AMD支持尚未正式为webui提供,但您可以安装lshqqytiger的webui分支,该分支使用Direct-ml。
目前训练功能尚不可用,但支持各种功能/扩展,如LoRAs和controlnet。请在https://github.com/lshqqytiger/stable-diffusion-webui-directml/issues上报告问题。
- 安装Python 3.10.6(勾选Add to PATH),以及git。
- 在cmd/终端中粘贴以下命令:
git clone https://github.com/lshqqytiger/stable-diffusion-webui-directml && cd stable-diffusion-webui-directml && git submodule init && git submodule update
(您可以将程序文件夹移动到其他位置。) - 双击webui-user.bat。
- 如果在安装或运行时看起来卡住了,请在终端中按Enter键,它应该会继续运行。
如果您有4-6GB的显存,请尝试将以下标志添加到webui-user.bat
中:
COMMANDLINE_ARGS=--opt-sub-quad-attention --lowvram --disable-nan-check
(以下是适用于Linux的安装指南。)
自动安装
(截至1/15/23,您只需运行webui.sh
,pytorch+rocm将自动安装。)
- 输入以下命令,将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
-
安装并运行:
./webui.sh {your_arguments*}
对于许多AMD GPU,您必须*添加--precision full --no-half
或--upcast-sampling
参数以避免NaN错误或崩溃。
如果--upcast-sampling
在您的卡上起作用作为修复方法,与使用完全精度相比,您应该有2倍的速度(fp16)。
本地运行
执行以下命令:
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 特定的依赖项
- 首先安装必需的依赖项并安装
pip
sudo pacman -S python-pip
- 使用ROCm后端安装
pytorch
Arch [Community] 仓库提供了两个pytorch
软件包,python-pytorch-rocm
和python-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
- 使用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
环境
- 手动创建一个带有系统 site-packages 的
venv
环境(这将允许访问系统的pytorch
和torchvision
)。安装剩余的 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
变量的构建架构中列出,参考Tourchvision和PyTorch。架构的参考资料可以在这里找到。如果没有列出您的 GPU,请考虑在本地构建这两个软件包,或使用其他安装方法。
- Arch依赖项(
pytorch
,torchvision
)通过完整的系统更新(pacman -Syu
)和编译来保持最新,这可能不是希望的行为,因为可能希望使用固定版本的依赖项组合
本指南已在AMD Radeon RX6800上测试,使用Python 3.10.9,ROCm 5.4.3,PyTorch 1.13.1和Torchvision 0.14.1