stable-diffusion-webui 安装注意事项

## 介绍
stable diffusion 本地安装,stable-diffusion-webui 是最近比较热门的本地 Web UI 工具包, 介绍一下windows下安装流程以及国内安装的注意事项
本文所有图片,url均来自开发者说明. 觉得有用的收藏即可,币留给别的up

开发者项目库:https://github.com/sd-webui/stable-diffusion-webui
开发者说明 : https://github.com/sd-webui/stable-diffusion-webui/wiki/Installation

## 安装内容
整套工具的基本架构, 大致是通过miniconda配置一套可以运行 stable diffusion 机器学习的 python 环境, 以及 web ui 的后端环境。需要安装的有以下几部分:
git
miniconda及环境配置
stable diffusion 模型 sd-v1-4.ckpt
web ui 的项目库

## 安装流程
git
https://gitforwindows.org/
点击 download 下载安装
miniconda
https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe
速度慢可以搜索 清华源 安装 miniconda3 等关键词, 从国内地址下载
下载安装
下载stable diffusion模型
进入页面 : https://huggingface.co/CompVis/stable-diffusion-v-1-4-original
点击 Access repository, 此时会弹出页面提示登陆. 点击sign up进行账号注册
注册登录后,再次进入页面点击 Access repository,出现下载选项
下载模型文件sd-v1-4.ckpt,该模型4G左右,下载时间较长

4. 下载 web ui 项目库
在想安装的目录下,在文件资源管理器的地址栏输入cmd(就是上方搜索框左边的那一条显示文件夹位置的地址栏),打开命令行
在命令行输入 git clone https://github.com/sd-webui/stable-diffusion-webui.git

如果前面正常安装了新版的git, 就会开始下载。 如果网速较慢,下载失败, 那么也可以手动下载。 但是大概率后续使用git的地方也会出现错误,要有心理准备。手动下载就是进入https://github.com/sd-webui/stable-diffusion-webui , 点击 download ZIP. 下载的压缩包解压即可。

5. 复制模型
将步骤3下载的模型 sd-v1-4.ckpt 改名为 model.ckpt, 复制到项目库stable-diffusion-webui下的 models\ldm\stable-diffusion-v1 文件夹内
6. 执行自动安装脚本
在stable-diffusion-webui项目库下,双击webui.cmd
或者像步骤4一样,在项目库地址栏输入cmd后, 在命令行输入webui, 敲回车执行
这一步耗时最久,也最容易出错。错误排查可参考后文。
7. 安装完成
webui脚本会执行以下几个步骤
Create conda env : 创建 miniconda 环境 env - 环境名 ldm, 自行搜索 conda 使用常用命令activate list 等
Install and update requirements : 在miniconda的ldm的环境内安装所需的依赖库
Run the relauncher and webui.py script for gradio UI options : 执行/scripts目录下的脚本,开启 web ui 的后端
安装完毕后, 会弹出提示

之后按提示,去浏览器访问 http://localhost:7860/ 即可打开web ui 工具


## 错误排查
1. pip 安装 第三方库 错误
如果执行webui.cmd时提示pip失败啊, 模块缺失啊之类的问题,都可参考这条。
我在安装过程中,主要卡在执行webui.cmd命令时,miniconda的环境配置上。
查看webui.cmd的内容, 大概了解配置环境主要是通过代码库目录下的environment.yaml文件配置conda内的ldm环境。 这里面只要conda的软件源配置正确(可自行搜索怎样配置国内源),大部分应该都能正常安装, 主要是最后的几个通过pip install -e git+https://xxxxx安装的三方库,由于比较大,很容易失败。
这里提供几个思路, 以最难安装的taming-transformers为例
* 在miniconda的ldm环境内,手动执行 pip install -e git+https://github.com/CompVis/taming-transformers#egg=taming-transformers , 看能否正常安装。 把environment.yaml后面的几个都按这个方法安装后,再次执行webui.cmd。
* 如果上述手动执行也失败, 那就看这条有没有用。 我是在代码库的根目录下手动执行的pip install, 根据提示,大致是先将taming-transformers下载到代码库根目录下的src, 也就是stable-diffusion-webui/src下. 因此可以尝试手动下载。按照前面步骤4的方法,访问https://github.com/CompVis/taming-transformers#egg=taming-transformers, 同样下载zip压缩包,解压后放到src下,修改对应的文件夹名称。 此时再手动执行pip install -e git+https://github.com/CompVis/taming-transformers#egg=taming-transformers , pip会检测到当前src文件夹下有同名内容,提示是否使用已下载的内容 s(swipe) 大概的提示。按提示选择swipe即可。
之后尝试再次执行webui.cmd