Skip to content

在 AMD GPU 上安装并运行

Windows

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

-培训目前不起作用,但各种功能/扩展都有效,如LoRAs和controlnet。在https://github.com/lshqqytiger/stable-diffusion-webui-directml/issues上报告问题

  1. 安装Python 3.10.6(打卡添加到PATH)和git
  2. 将此行粘贴到cmd/terminal中: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. 如果在安装或运行时看起来卡住了,请在终端中按回车键,它应该会继续。

(其余部分是带有rocm的linux安装指南。)

自动安装

(从23年1月15日起,您只需运行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)。

本地运行

执行以下操作:

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

## It's possible that you don't need "--precision full", dropping "--no-half" however crashes my drivers
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
## Optional: "git pull" to update the repository
source venv/bin/activate

## It's possible that you don't need "--precision full", dropping "--no-half" however crashes my drivers
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):警告[SQLiteBase]缺少系统数据库文件:gfx1030_40.kdb性能可能会下降。请按照说明安装:https://github.com/ROCmSoftwarePlatform/MIOpen#installing-miopen-kernels-package

下一代应该有规律地工作。您可以按照消息中的链接进行操作,如果您碰巧使用相同的操作系统,请按照那里的步骤来解决这个问题。如果没有为操作系统编译或安装MIOpen内核的明确方法,请考虑遵循下面的“在Docker内部运行”指南。

在Docker内部运行

Pull the latest rocm/pytorch Docker image, start the image and attach to the container (taken from the rocm/pytorchdocumentation): 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

## It's possible that you don't need "--precision full", dropping "--no-half" however crashes my drivers
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
## Optional: "git pull" to update the repository

## It's possible that you don't need "--precision full", dropping "--no-half" however crashes my drivers
REQS_FILE='requirements.txt' python launch.py --precision full --no-half

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

在Docker中更新Python版本

如果Web UI与Docker映像中预装的Python 3.7版本不兼容,以下是关于如何更新它的说明(假设您已成功遵循“在Docker中运行”):

在容器内执行以下操作:

apt install python3.9-full ## Confirm every prompt
update-alternatives --install /usr/local/bin/python python /usr/bin/python3.9 1
echo 'PATH=/usr/local/bin:$PATH' >> ~/.bashrc

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

您可能不需要“--精确全”,删除“--无一半”,但它可能不适合所有人。某些卡,如Radeon RX 6000系列和RX 500系列,在没有选项的情况下可以正常工作--precision full --no-half,节省大量VRAM。(此处注明。)

在AMD和Arch Linux上安装

使用Arch专用软件包在Arch Linux上安装webui
可能还有其他基于Arch的Linux发行版(2023年2月22日测试)

特定于拱门的依赖关系

  1. 所需的依赖项开始并安装pip
sudo pacman -S python-pip
  1. 使用ROCm后端安装pytorch

Arch [Community]存储库提供两个pytorch软件包,python-pytorch-rocmpython-pytorch-opt-rocm。对于支持AVX2指令集的CPU,即Haswell(英特尔,2013)或挖掘机(AMD,2015)之外的CPU微架构,请安装python-pytorch-opt-rocm以从性能优化中受益。否则安装python-pytorch-rocm

## Install either one:
sudo pacman -S python-pytorch-rocm
sudo pacman -S python-pytorch-opt-rocm   ## AVX2 CPUs only
  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. 使用系统站点包手动创建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是否在TourchvisionPyTorchPYTORCH_ROCM_ARCH变量中列为构建架构。架构的参考可以在这里找到。如果没有,请考虑在本地构建两个软件包或使用其他安装方法

  • Arch依赖项(pytorchtorchvision)通过完整的系统更新(pacman -Syu)和编译保持最新状态,当希望与固定版本的依赖项组合时,这可能不可取

本指南已在AMD Radeon RX6800与Python 3.10.9、ROCm 5.4.3、PyTorch 1.13.1、Torchvision 0.14.1上进行了测试


我们一直在努力

apachecn/AiLearning

【布客】中文翻译组