虽然AMD GPU目前还没有官方支持Stable Diffusion WEB UI,但你可以安装lshqqytiger的webui分支,该分支使用DirectML。
目前训练功能还不能正常工作,但其他特性和扩展功能,如LoRA和controlnet可以正常使用。如果遇到问题,请访问https://github.com/lshqqytiger/stable-diffusion-webui-directml/issues报告问题。
以下是在Windows环境下安装和运行Stable Diffusion WEB UI的步骤:
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. 如果安装或运行时出现卡顿,按回车键继续。
以下是在Linux环境下使用rocm进行安装的指南(自动安装和原生运行):
自动安装
从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)运行,而不是在full精度下运行。
详细信息
原生运行
执行以下命令:
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” 来更新仓库
REQS_FILE=’requirements.txt’ python launch.py –precision full –no-half
容器内的/dockerx文件夹应该可以在主机的主目录下同名访问。
在Docker内更新Python版本
如果web UI与Docker镜像内预安装的Python 3.7版本不兼容,以下是更新Python版本的指南(假设你已经成功按照“在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上安装
以下是在AMD和Arch Linux上安装Stable Diffusion WEB UI的指南:
在Arch Linux上使用Arch特定的包安装webui
这个指南可能适用于其他基于Arch的Linux发行版(测试日期为2023年2月22日)。
首先安装Arch特定的依赖,从所需的依赖开始,安装pip:sudo pacman -S python-pip。
然后根据你的CPU类型选择安装pytorch包。如果你的CPU支持AVX2指令集(超过Haswell(Intel,2013)或Excavator(AMD,2015)的CPU微架构),安装python-pytorch-opt-rocm包以获得优化。否则,安装python-pytorch-rocm包。
安装torchvision包时,可以使用AUR助手或手动克隆git仓库并编译安装。
设置venv环境并安装剩余的Python依赖。
最后,在项目根目录运行webui.sh以启动Stable Diffusion WEB UI。
限制
请注意,GPU型号必须得到Arch依赖的支持。你可以在PYTORCH_ROCM_ARCH变量中查看你的GPU是否被列为支持的构建架构。如果不支持,考虑本地构建这两个包或使用其他安装方法。
另外,Arch依赖(pytorch,torchvision)通过完整的系统更新和编译保持最新,这可能不是希望依赖组合使用固定版本的理想选择。
总结
以上是在不同环境下安装和运行Stable Diffusion WEB UI的指南。根据你的操作系统和GPU型号,选择合适的安装方法,并按照指南进行操作,以便在AMD GPU上使用Stable Diffusion WEB UI进行稳定扩散模型的训练和应用。
原创文章,作者:SD中文网,如若转载,请注明出处:https://www.stablediffusion-cn.com/sd/sd-install/867.html