随着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 虚拟环境:
而后根据显卡驱动安装 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,第一次运行,这个过程中也会下载一些依赖库和权重文件,耐心等待即可。
看到 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/ # https://zhuanlan.zhihu.com/p/575353301 # 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
|