扩散模型Stable-Diffusion WebUI搭配Novel AI及其相关模型食用指南

随着AI绘图这一话题热潮迭起,Stable Diffusion 的受欢迎程度继续爆炸式增长。作为模型公开且效果极佳的扩散模型Stable Diffusion是CompVis研究团队2022年8月底发布的。该模型使用 LAION 5B 数据集的子集进行训练,包括用于初始训练的高分辨率子集和用于后续各种开发者提升"美学"孕育出来的的各种针对性模型。本文将分享 Stable Diffusion Web UI 的搭建步骤及相关模型加载设置,该模块主要是基于stable diffusion的基础应用,利用gradio模块搭建出交互程序,用户可以在低代码 GUI 中立即访问 Stable Diffusion。

简介

可以说,其中最受欢迎和经常更新的是 AUTOMATIC111 的 Stable Diffusion Web UI 搭建的工作。除了 txt2img、img2img等 Stable Diffusion 的基本功能外,Web UI 还包含许多模型融合改进、图片质量修复等许多附加升级——所有这些都可以通过易于使用的方式访问Web 应用程序图形用户界面。

步骤

基础开发环境搭建

CUDA

首先需要安装CUDA和Anaconda,首先打开NVIDIA控制面板-管理3D设置,在面板里查看系统信息,查看自己电脑独立显卡的驱动版本。而后根据驱动版本前往NVIDIA Docs官网查看自己电脑所能支持的CUDA版本号上限,然后前往CUDA安装地址下载对应版本的exe文件即可。
安装好之后,需要配置Windows电脑的环境变量,即电脑属性-高级系统设置-环境变量-Path-编辑,新建CUDA(NVSMI)路径到Path中即可,下面分享下我的计算机中配置的一些环境变量。

1
2
3
4
5
6
7
8
9
10
C:\Users\DOG\AppData\Local\Microsoft\WindowsApps
E:\SoftwareSpace\Anaconda3_Space\Library\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\nvml
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\libnvvp
E:\SoftwareSpace\Anaconda3_Space
E:\SoftwareSpace\Anaconda3_Space\Scripts
C:\Python311\Scripts\
C:\Python311\
C:\Program Files (x86)\Common Files\Oracle\Java\javapath

而后你可以在CMD中输入nvidia-smi指令来测试并查看显卡当前的使用情况了,至此,CUDA配置完成。

Andconda 3

Andconda是Python的包管理器和环境管理器,官网下载的慢的话可以选择访问清华开源软件镜像网站下载,而后配置相关环境变量操作步骤如上。

1
2
E:\SoftwareSpace\Anaconda3_Space
E:\SoftwareSpace\Anaconda3_Space\Scripts

而后在CMD中运行conda env list即可查看到我们当前的虚拟环境了。安装好后,我们可以更换conda的默认源为清华软件源
TUNA 还提供了 Anaconda 仓库与第三方源(conda-forge、msys2、pytorch等,查看完整列表,更多第三方源可以前往校园网联合镜像站查看)的镜像,各系统都可以通过修改用户目录下的 .condarc 文件来使用 TUNA 镜像源。Windows 用户无法直接创建名为 .condarc 的文件,可先执行 conda config --set show_channel_urls yes 生成该文件之后再修改。
注:由于更新过快难以同步,TUNA 不同步pytorch-nightly, pytorch-nightly-cpu, ignite-nightly这三个包。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
# 如果需要使用其他第三方源(参考上方完整列表)
# 例如 conda install -c pytorch-test,则可以添加
#pytorch-test: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

即可添加 Anaconda Python 免费仓库。运行 conda clean -i 清除索引缓存,保证用的是镜像站提供的索引。运行 conda create -n myenv numpy 测试一下吧。
Miniconda 是一个 Anaconda 的轻量级替代,默认只包含了 python 和 conda,但是可以通过 pip 和 conda 来安装所需要的包。Miniconda 安装包可以到 https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/ 下载。

算法部署与运行

我们选择一个目录,下载相关代码文件。

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

然后我们创建一个新的Anaconda虚拟环境,用于后续的算法环境搭建。其中后面的 python==3.10.6 是预先安装好的版本,安装 3.10.6 是因为开源代码仓库说明的是推荐 3.10.6。。

1
conda create -n novelai python==3.10.6

激活 conda 虚拟环境:

1
conda activate novelai

而后根据显卡驱动安装 GPU 版本的 Pytorch:直接使用官网的命令安装,打开网页,命令如下。

1
conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia

进入项目根目录(非conda虚拟环境目录),然后安装作者注明的第三方依赖库。

1
python -m pip install -r requirements.txt

随后下载模型文件(权重文件01),NovelAI 的模型训练文件网盘分享链接。将模型文件解压缩放到 models 目录(E:\CUDA_Project\stable-diffusion-webui\models\Stable-diffusion)下。

(权重文件02操作步骤:拷贝所下载的权重文件文件夹中的models中的全部文件,到项目的models目录下,然后再将.cache文件下的所有文件拷贝至电脑用户目录下的.cache文件夹中(C:\Users\DOG.cache\huggingface\transformers)。最后将repositories里面的文件,全部拷贝至对应的目录中)

运行 Web UI,第一次运行,这个过程中也会下载一些依赖库和权重文件,耐心等待即可。

1
python launch.py

看到 local URL 表明开启完成,直接打开这个本地连接(http://127.0.0.1:7860/)。

其实高级玩法还有很多,比如使用 Textual Inversion 用某个人的图片集(30张左右),训练一个小模型,记录这个特征,然后进行多特征融合(写在 Prompt 描述里)。还可以使用 img2img 进行风格、背景的替换等。这些都可以使用 Stable Diffusion web UI 实现。

风险提示:不要将 Stable Diffusion web UI 服务部署到公网服务器上,项目有漏洞,机器会被劫持;不建议使用 naifu 版本,封装较多,容易被动手脚。建议使用开源的 Stable Diffusion web UI。不要随便下载网络上的其它开源模型,有反序列化攻击风险。

其他命令

1
2
3
4
5
6
7
8
9
10
nvidia-smi
conda env list
conda upgrade --all
conda config --set show_channel_urls yes
conda create -n dogui jupyter notebook cudnn

conda remove -n novelai —all
conda activate novelai
conda deactivate
conda config —show-sources

补充内容

相关参考文档及视频

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#AI杀疯了!2022年保姆级AI算法教程,新年必玩!
https://www.bilibili.com/video/BV14R4y1g7qs/
#AI杀疯了!2021年高能的AI算法,超乎想象!
https://www.bilibili.com/video/BV1RF411B7hT/
##AI 杀疯了,NovelAI开源教程
https://zhuanlan.zhihu.com/p/575353301
##AI作画保姆级教程来了!逆天,太强了!(附训练embedding模型)
https://www.bilibili.com/video/BV1q84y1i78L/

#NovelAI信息并联计划.
https://www.kdocs.cn/l/cre0TwbMkdx3
#NovelAI资源整合
https://www.kdocs.cn/l/cvg8ccOGj5sq
#元素法典——Novel AI 元素魔法全收录
https://docs.qq.com/doc/DWHl3am5Zb05QbGVs
#元素法典第一点五卷——Novel AI 元素魔法全收录
https://docs.qq.com/doc/DWGh4QnZBVlJYRkly
#Novel AI 详细搭建教程
https://xiaomcserver.top/archives/29/
#Novel AI搭建教程
https://www.bilibili.com/read/cv19122535

#AutoDL使用stable-diffusion-webui部署NovelAi/Stable Diffusion1.4 /1.5保姆级教程、命令解释、原理讲解(colab、windows、Linux )
https://zhuanlan.zhihu.com/p/574200991
#模型应用---使用Stable Diffusion UI手册
https://zhuanlan.zhihu.com/p/570954565
#如何评价AI绘画网站NovelAI?
https://www.zhihu.com/question/558019952/answer/2710009035

#Python 开源项目之「自学编程之路」
https://github.com/Jack-Cherish/PythonPark

#Stable Diffusion Library
https://github.com/boringcrypto/boringfusion
#Model_Database
https://upscale.wiki/wiki/Model_Database
#Stable Diffusion Models
https://rentry.co/sdmodels

或者

1
2
3
4
5
6
7
8
9
#NovelAI hypernetwork 自训练教程
https://zhuanlan.zhihu.com/p/576041621
#使用stable-diffusion-webui部署NovelAi/Stable Diffusion1.4 /1.5保姆级教程、命令解释、原理讲解(colab、windows、Linux )
https://zhuanlan.zhihu.com/p/574200991
#庖丁解牛 Stable-diffusion-webui 插件拓展及依赖汇总
https://zhuanlan.zhihu.com/p/579538165
https://github.com/crosstyan/dreambooth-scripts-for-autodl
#stable-diffusion-webui+NovelAI+Python+Git+CUDA本地部署(2G显存,使用cpu运行)
https://www.cnblogs.com/zhongbenbayun/p/16879362.html