走进AI绘画的大门stable-diffusion-webui AMD显卡踩坑记录1——安装篇


参考资料:
官方文档:Install-and-Run-on-AMD-GPUs
知乎:Windows下Stable Diffusion WebUI使用AMD显卡指北

本文编写于2023年4月3日,我的操作系统是windows,显卡是AMD RX5700 8G,SD版本1.5。技术迭代更新很快,一切以官方文档为准,本文仅供参考!

安装

前置要求

SD安装前,首先要有git和Python3.10(应该在3.10.6以上)。Python安装过程中记得选中“Add Python to PATH”,如果忘了选也问题不大,将Python安装路径和Scripts添加到环境变量即可。

注意,git是必须装的,从GitHub上把压缩包下载下来是不够的。安装过程中还会拉取在线repo。

其次,Adrenalin显卡驱动必须装好。

git下载repo

使用cd命令导航到一个空目录,或者用mkdir命令创建个新的

如果是使用CUDA,也就是Nvidia显卡的话,(要先安装上CUDA工具哦)用这句:

git clone https://ghproxy.com/https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

AMD显卡用这句:

git clone https://ghproxy.com/https://github.com/lshqqytiger/stable-diffusion-webui-directml.git

就是下载文件到当前目录,AMD显卡还要下载下面两个库,直接给出命令了:

git clone https://ghproxy.com/https://github.com/lshqqytiger/k-diffusion-directml.git
git clone https://ghproxy.com/https://github.com/lshqqytiger/stablediffusion-directml.git

以上两个repo的下载位置无所谓,下载后将k-diffusion-directml文件夹中的全部内容(不要包括主文件夹)移动到“SD主目录\repositories\k-diffusion”下;将stablediffusion-directml文件夹中的全部内容移动到 “SD主目录\repositories\stable-diffusion-stability-ai”下。

接下来修改一下SD目录下的launch.py,主要是使用国内镜像下载库,比如说pytorch有2.3G的体积,如果不使用国内镜像下载起来就比较慢了。用文本编辑器,打开launch.py,像上面一样,将“https://github.com” 改成 “https://ghproxy.com/https://github.com” ,改完后确认你修改的没有问题。

注意:前面加的ghproxy.com是github的国内代理,用它能规避不少网络问题,如果你本地网络环境很好,或者在海外,去掉即可。

运行主程序

双击 webui-user.bat,程序会自动下载所需要的文件并自动安装,这一步通常会持续一段时间,还可能会因为网络问题或者GitHub访问问题中断报错,如果是网络问题,重新运行一次就好了。如果是其他问题就得具体问题具体分析了。

如果使用clash、ssr等工具科学上网,建议设置为系统代理,可以提高成功率。

启动成功的话,你会在终端中看到类似如下的内容:

venv "D:\stable-diffusion-webui\stable-diffusion-webui-directml\venv\Scripts\Python.exe"
Python 3.10.6 (tags/v3.10.6:9c7b4bd, Aug  1 2022, 21:53:49) [MSC v.1932 64 bit (AMD64)]
Commit hash: ae337fa39b6d4598b377ff312c53b14c15142331
Installing requirements for Web UI
Launching Web UI with arguments: --medvram --always-batch-cond-uncond --opt-split-attention
Interrogations are fallen back to cpu. This doesn't affect on image generation. But if you want to use interrogate (CLIP or DeepBooru), check out this issue: https://github.com/lshqqytiger/stable-diffusion-webui-directml/issues/10
Warning: caught exception 'Torch not compiled with CUDA enabled', memory monitor disabled
No module 'xformers'. Proceeding without it.
[AddNet] Updating model hashes...
0it [00:00, ?it/s]
[AddNet] Updating model hashes...
0it [00:00, ?it/s]
Loading weights [fc2511737a] from D:\stable-diffusion-webui\stable-diffusion-webui-directml\models\Stable-diffusion\chilloutmix_NiPrunedFp32Fix.safetensors
Creating model from config: D:\stable-diffusion-webui\stable-diffusion-webui-directml\configs\v1-inference.yaml
LatentDiffusion: Running in eps-prediction mode
DiffusionWrapper has 859.52 M params.
Loading VAE weights specified in settings: D:\stable-diffusion-webui\stable-diffusion-webui-directml\models\VAE\vae-ft-mse-840000-ema-pruned.ckpt
Applying cross attention optimization (Doggettx).
Textual inversion embeddings loaded(0):
Model loaded in 11.5s (load weights from disk: 0.4s, create model: 0.4s, apply weights to model: 9.4s, apply half(): 0.4s, load VAE: 0.9s).
Running on local URL:  http://127.0.0.1:7860

To create a public link, set `share=True` in `launch()`.
Startup time: 24.4s (import torch: 3.6s, import gradio: 2.5s, import ldm: 1.0s, other imports: 2.8s, setup codeformer: 0.2s, load scripts: 1.6s, load SD checkpoint: 11.9s, create ui: 0.6s, gradio launch: 0.1s).

注意,这里面有个Warning:Warning: caught exception 'Torch not compiled with CUDA enabled', memory monitor disabled 因为是A卡,所以没有CUDA无需理会。
No module 'xformers'. Proceeding without it. 因为xformers专为N卡设计,所以A卡用不了无需理会。

浏览器访问http://127.0.0.1:7860 即可访问stable-diffusion-webui