玩一玩StableDiffution的WebUI
摘要:本地Win11下部署Stable Diffusion模型,通过WebUI控制文本生成图片
现在是2023年4月,基于Diffusion的AI生成图片模型的效能已经远超基于GAN的生成模型,目前主流的产品包括OpenAI的DALL·E2(2022.4)、某个小组织开发的MidJourney(2022.4)、开源的Stable Diffusion(2022.7)。三者在具体实现原理、作图风格等上都略有不同。作为一个刚接触该领域的萌新,我就想找一个较成熟的产品体验一下,最好该产品能开源代码方便DIY,而DALL·E2直接闭源,MidJourney还要基于他们的社交聊天软件才能用,于是果断选择Stable Diffusion作为我入门的第一步。
初次体验先试试大佬们基于Stable Diffusion做的一个WebUI控制台。其实现逻辑是:先下载开源的预训练模型,在本地部署,通过WebUI界面来操作。相比于MidJourney等在线作图的方式,在本地部署一套环境可以无视生成数量的限制,自由度高,但是对本机配置较高,要体验不同风格的模型还需预先下载(模型大到以GB为单位)。
一、 本地环境配置
1. 配置Python环境
安装conda:直接上miniconda
创建虚拟环境,并激活进入(我的是sdwebui)
升级pip包,更改下载地址为清华镜像站
2. 配置Git
3. 安装CUDA
- 查看本机GPU驱动版本,去官网下载匹配的版本的CUDA
- 安装后在NVIDIA控制面板查看CUDA版本
4. 克隆stable diffusion WebUI库
在希望克隆的文件夹下打开CMD
克隆项目源码
1
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
下载预训练模型(地址),并转移到对应文件夹
models\Stable-diffusion
进入项目根目录,运行
webui-user.bat
即可完成本地Web部署- 如果长时间卡在Installing gfpgan(或者installing clip,installing open_clip)这个环节,那么进入F:\stable-diffusion-webui文件夹下面,找到launch.py这个文件,在第200多行到300行的位置在“https://github.com/xxx”的最前面,加上:
https://ghproxy.com/
,相当于让原来从github下载相关程序包变成了走国内镜像下载相关程序包,这样会增加网络的稳定性和网络速度,此时需关闭梯子。
- 如果长时间卡在Installing gfpgan(或者installing clip,installing open_clip)这个环节,那么进入F:\stable-diffusion-webui文件夹下面,找到launch.py这个文件,在第200多行到300行的位置在“https://github.com/xxx”的最前面,加上:
从零开始,手把手教你本地部署Stable Diffusion Webui AI绘画(Win系最新版) - 知乎 (zhihu.com)
二、WebUI操作指南
1. 开启server流程:
- 在项目根目录下
E:\Stable_Diffusion_WebUI\stable-diffusion-webui
打开CMD,进入虚拟环境sdwebui
- 执行
webui-user.bat
,浏览器打开http://127.0.0.1:7860
。(注意关掉梯子)- 建议完整执行
.\webui.bat --medvram --xformers
- 建议完整执行
2. WebUI界面说明
自己摸索
三、promot“咒语”大全
1. 语法
【AI绘画】全网 Stable Diffusion Prompt运用技巧](https://zhuanlan.zhihu.com/p/577238010)
2. 参考其他开源模板
如Civitai网站。选择参考的图片,复制其promot信息到UI中
- Prompt Search
- MeinaMix: 二次元风格
四、controlnet
Controlnet 允许通过线稿、动作识别、深度信息等对生成的图像进行控制。
(TODO)
五、本地训练新风格模型
报错记录
- 不管什么操作都会报错:
Something went wrong Expecting value: line 1 column 1 (char 0)
网络代理问题,关掉梯子,再重新启动服务器,之后就没问题了。
- 点击generate后报错:RuntimeError: Not enough memory, use lower resolution (max approx. 512x512). Need: 0.2GB free, Have:0.1GB free
执行.\webui.bat --medvram
,增加--medvram
Troubleshooting · AUTOMATIC1111/stable-diffusion-webui Wiki (github.com)
- 在生成图片过程中报错:AttributeError: ‘NoneType’ object has no attribute ‘local_data_path’
modules\realesrgan_model.py
中出现bug,参考下面的issue
[[Bug]: AttributeError: “NoneType’ object has no attribute ‘data_path’ · Issue #5170 · AUTOMATIC1111/stable-diffusion-webui (github.com)](https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/5170"
- 生成图片到一半就卡住,然后报错CUDA out of memory
GPU性能不够,将Upscale by
设置为1,图片size最高支持到512x1024