本地搭建Stable Diffusion
这两天学习了下AI绘画的一点知识,没了解之前总是看到一些什么模型、训练、提示词等待词汇,完全不理解什么意思,于是抽了时间做了个入门学习。
最开始是在midjourney网站看了下,生成的图片确实非常漂亮。但是这个是收费的,而且费用不低。然后了解到还有个开源且功能强大的Stable Diffusion
上次在知乎看到有人基于阿里云服务器搭建了该应用,跟着后面也实现了。今天主要是在本地机器搭建环境,了解到这个对电脑硬件要求比价高,我这电脑典型的就是显卡垃圾,不知道能否成功。
从零开始
1. 下载并安装Python
通过官网下载对应版本的Python,可以先看下stable-diffusion-webui依赖的版本号,写这篇文章时,使用的是3.10.6,由于官网下载非常慢,可以通过文末连接下载Python官网下载
安装非常简单,直接双击exe文件,如下图(图中是3.11.4,因为我已经安装了3.10.6版本),直接选择Install Now即可(记得勾选Add python.exe to PATH)

安装完成后,可以通过下面的命令检查是否安装成功
python -V
如果输出 Python 3.10.6
则没问题,如果刚才没有勾选环境‘Add python.exe to PATH’,我们就手动配置下:

其中PYTHON_HOME
为安装路径,一般为C:\Users\<用户名>\AppData\Local\Programs\Python
记得配置镜像,不然下载依赖包会很慢
pip config set global.index-url='https://mirrors.aliyun.com/pypi/simple/'
2. 安装git(如果不使用git命令,不必安装,可以直接去github下载zip包)
Git官网下载
下载的exe文件直接双击安装,如果提示是否添加PATH,记得勾选,然后运行下面的命令,输出git version xxx
即可,如果提示不是内部命令,和安装Python一样,手动添加环境变量(也就是把git安装目录添加到环境变量PATH中)
git -v
3. 下载stable-diffusion-webui
自己选择一个目录(比如我的是D:\AI),保证该盘存储空间至少10G。stable-diffusion-webui
如果你安装了Git,可以使用下面的命令下载
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
等待下载完成即可,
如果没有安装可以直接访问 https://github.com/AUTOMATIC1111/stable-diffusion-webui.git,然后下载zip文件并解压

** 注意 **git下载可能比较慢,可以通过安装steampp(https://steampp.net/)或者使用其他插件,当然如果你能魔法上网也行。steampp还可以帮助你访问登录https://www.midjourney.com/app/
4. 开始安装
进到stable-diffusion-webui目录,我的是D:\AI\stable-diffusion-webui,找到webui-user.bat直接双击接口,这个过程会比较漫长,需要安装Python的依赖以及基础模型文件。但是注意,直接这样在安装gfpgan、clip、openclip时会失败。
需要修改\modules\launch_utils.py中的url,在原来的url前面添加:https://ghproxy.com/,像下面这样
gfpgan_package = os.environ.get('GFPGAN_PACKAGE', "https://ghproxy.com/https://github.com/TencentARC/GFPGAN/archive/8d2447a2d918f8eba5a4a01463fd48e45126a379.zip")
clip_package = os.environ.get('CLIP_PACKAGE', "https://ghproxy.com/https://github.com/openai/CLIP/archive/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip")
openclip_package = os.environ.get('OPENCLIP_PACKAGE', "https://ghproxy.com/https://github.com/mlfoundations/open_clip/archive/bb6e834e9c70d9c27d0dc3ecedeebeaeb1ffad6b.zip")
接下来会下载模型文件v1-5-pruned-emaonly.safetensors,这个文件接近4G,下载非常慢,可以在文末连接中下载。下载完成后将其放到\models\Stable-diffusion
下面

5. 启动
上面的步骤完成后运行webui-user.bat,如果没有出错可以看到http://127.0.0.1:7860/
这个地址,一般会自动在浏览器打开应用,如果没有可以手动在浏览器输入。


在txt2img中,输入关键提示词,点击Generate等待一段时间后即可生成图片(这是引入了国风3的模型生成的图片)。

由于我的电脑是码代码的,所以显卡当时选的是最低的,而stable-diffusion非常依赖显卡性能。开始的时候生成图片时会提示内存溢出,之后调整了参数
# 修改webui-user.bat文件,调整这个地方,以低性能显卡运行
set COMMANDLINE_ARGS= --lowvram --xformers
当然现在仍然存在问题,图片生成完成,后台没有出错,但在预览处看不到图片效果,但是不要慌,可以打开输出目录,其实图片已经保存了。
更多参数可以参考官方文档https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Command-Line-Arguments-and-Settings
整合包安装
建议使用第一种方式安装,优点是安装包不会太大,整个安装过程可以帮助自己理解,提升排错能力。缺点是安装的是个壳子,里面各种模型、插件都要安装(也是优点,按需安装)。整合包非常大,慎重选择。
根据文末提供的连接下载sd-webui-aki-v4.zip,其他资源根据需求选择是否下载
解压文件到指定目录,直接通过启动器.exe打开,如果缺少依赖环境,可以下载对应应用并执行
重新启动,没有问题会打开如下页面,点击“一键启动”后会打开浏览器,打开和上面一样的页面

其他操作都差不多,整合版是中文的,可能会更友好些,由于我没有使用整合包安装,整体流程差不多如上面那样,过程中如果出现问题可以一起交流。
教程
快速开始使用 → https://www.bilibili.com/read/cv22661198新手最全教程 → https://www.bilibili.com/read/cv221596094月模型推荐 → https://www.bilibili.com/video/BV1em4y1z7Dg模型安装使用百科 → https://www.bilibili.com/read/cv21362202
模型
一般模型下载是在C站(https://civitai.com/),可是我不会魔法。下面有几个网站可以参考
https://huggingface.co/
https://www.liblibai.com/
待补充...
插件
Tagcomplete:Tag补全,https://github.com/DominikDoom/a1111-sd-webui-tagcomplete
sd-face-editor:面部修复,https://github.com/ototadana/sd-face-editor
Images-browser:历史图片浏览,https://github.com/yfszzx/stable-diffusion-webui-images-browser
prompt-all-in-one:Prompts辅助,https://github.com/Physton/sd-webui-prompt-all-in-one
Canvas-zoom:画布缩放,https://github.com/richrobber2/canvas-zoom
Deforum: 图生视频,https://github.com/deforum-art/sd-webui-deforum extensions/deforum
Tagger:关键词反推,https://github.com/toriato/stable-diffusion-webui-wd14-tagger
待补充...
插件安装可以直接进入\extensions目录,然后通过git clone或直接去github下载zip源文件解压;也可以webui启动后,在Extensions中选择多种方式安装
提示词
https://promptomania.com/stable-diffusion-prompt-builder
https://search.krea.ai
https://lexica.art
https://arthub.ai
https://guide.novelai.dev/guide
下载
hkvr7m0roy.feishu.cn/docx/W3gjdigAwoXkXLxqTvgcI739nQX?from=from_copylink
提供了下面的资源:
Steam++
Python-3.10.6
Stable Diffusion整合包V4
模型 v1-5-pruned-emaonly.safetensors、GuoFeng3.3.safetensors
很难下载的资源:codeformer-v0.1.0.pth(这个300多兆的文件下载了一天,不懂怎么没人提供下载资源)
问题汇总
图片生成完成后无法预览
每次点击Generate生成完成后无法重复点击生图
最后
这几天才学习这个,如果有问题或有兴趣可以一起探讨