在 AMD GPU 上安装并运行
Windows
Windows+AMD尚未正式支持webui,
但您可以安装lshqqytiger使用Direct-ml的webui分支。
-培训目前不起作用,但各种功能/扩展都有效,如LoRAs和controlnet。在https://github.com/lshqqytiger/stable-diffusion-webui-directml/issues上报告问题
- 安装Python 3.10.6(打卡添加到PATH)和git
- 将此行粘贴到cmd/terminal中:
git clone https://github.com/lshqqytiger/stable-diffusion-webui-directml && cd stable-diffusion-webui-directml && git submodule init && git submodule update
(您可以将程序文件夹移动到其他地方。) - 双击webui-user.bat
- 如果在安装或运行时看起来卡住了,请在终端中按回车键,它应该会继续。
(其余部分是带有rocm的linux安装指南。)
自动安装
(从23年1月15日起,您只需运行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
## 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/pytorch
documentation): 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日测试)
特定于拱门的依赖关系
- 从所需的依赖项开始并安装
pip
sudo pacman -S python-pip
- 使用ROCm后端安装
pytorch
Arch [Community]存储库提供两个pytorch
软件包,python-pytorch-rocm
和python-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
- 使用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
环境
- 使用系统站点包手动创建
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是否在Tourchvision和PyTorch的PYTORCH_ROCM_ARCH
变量中列为构建架构。架构的参考可以在这里找到。如果没有,请考虑在本地构建两个软件包或使用其他安装方法。
- Arch依赖项(
pytorch
,torchvision
)通过完整的系统更新(pacman -Syu
)和编译保持最新状态,当希望与固定版本的依赖项组合时,这可能不可取
本指南已在AMD Radeon RX6800与Python 3.10.9、ROCm 5.4.3、PyTorch 1.13.1、Torchvision 0.14.1上进行了测试