Stable Diffusion部署以及基于云端的模型训练

1,937 阅读6分钟

本地部署

一.前言

这个文章写给使用windows系统的小白观看,如果您是大佬请您指导,本人联系方式为

wechat:wbab16,暂时不提供linux等版本。

本教程是使用哔哩哔哩网站里面 秋葉aaaki 大神的一键安装包

这个教程里面用到的下载地址 百度网盘

二.必要前提

1.科学上网

2.最好是NVIDIA GT1060显卡6G以上。内存16G以上,如果真的没有这些,那么你要忍受出图非常缓慢的时间煎熬。不仅如此,当显存低于6G时,将无法进行模型训练操作。要解决此类问题可详见云端部署(现在只介绍NVIDIA显卡,ati显卡和CPU也可以用)

3.本文只介绍win10和win11的安装教程,其他的系统的教程(暂时我没有提供)。

4.耐心,不行就重新来。

三 电脑环境配置

1.安装新版的NVDIA显卡驱动,如果不会可以用360驱动精灵安装,为啥不推荐其他,因为其他 不开会员会限速。安装NVIDIA CUDA 驱动 (CUDA Toolkit 11.6)地址:developer.nvidia.com/cuda-toolki…

2.安装dotnet6.0,包里已经包含,安装一下。

3.安装phython。打开python官网下载3.10.9.地址为:www.python.org/downloads/r…

这里注意,安装时须选中 Add Python to PATH否则需要添加path到windows。

4.安装git,在git-scm.com/download/wi…

四。万事俱备只欠东风,下载百度网盘里面v4的一键包解压运行A启动器

这里面都是中文,自己看下自己的需求,根据需求改参数就行了。

云端部署

一.前言

虽然一键安装包的存在大大降低了Stable Diffusion的使用门槛,但部分使用者(包括本人)电脑低下的硬件性能不仅会降低使用Stable Diffusion时的出图效率,同时也会导致Stable Diffusion功能之一模型训练功能无法使用。因此,针对上述以及其他特殊原因,特地讲解一下基于AutoDL的Stable Diffusion云端部署教程

AutoDL的网址如下:www.autodl.com/home

二.云端配置

1.首先打开网址,注册好账号后点击算力市场(注:如果你是学生可以申请一个有效期1年的学生认证,过期了可以接着续)

2.找到可租的显卡,结合自身需求自行选择(注:对于模型训练而言,目前这种GPU租赁平台的卡基本都能满足需求,选最便宜的就行。即使是最便宜的卡也是能达到训练模型功能最低显存要求的)

3.选择社区镜像

4.选择社区镜像后输入novelAI-(会自动补全)后选择3.1版本(最新就行)

5.等待创建

6.创建完毕后点击JupyteLab

7.按照提示操作,先点击红色箭头指向的命令框,待到出现红色圆圈的移动完成出现后才能进行下一步

8.接着再刷新网页(如果询问是否重新加载点击重新加载即可)

9.选择xl_env环境

10.关闭脚本,选择丢弃(不要保存,否则后面可能运行模型训练会报错,原因未知)

11.再次运行脚本,点击蓝色箭头命令框后运行,之后点击加速。

12.(可选)根据需求下载模型,如果是模型训练的话这一步可以省略

13.启动WebUI,将选项调成蓝色箭头指向的样式(如有特殊需求应该也可以变动)后启动WebUI

14.等待环境配置完毕,当下拉滑动条时出现http://127.0.0.1:6006时说明配置完毕

15.回到网址主页,点击控制台选择实例

16.选择自定义服务

17.大功告成,如果你在WebUI界面的选项卡中找不到12步下好的模型,可以点击红色箭头指向的刷新

三.模型训练

包括本人在内的部分使用者使用云端部署的主要目的在于解决因硬件问题导致的模型训练功能缺失,这里就讲解一下模型训练功能的使用,针对dreambooth模型训练来进行讲解。

在Stable Diffusion中,模型分为很多类型,这方面的知识较为宽泛,碍于本人水平无法呈现。对于需要简单地DIY一个自定义模型的人而言,可以稍微简单粗暴地将模型训练分为三类:嵌入式(embedding)、超网格(hypernetwork)以及dreambooth。由于前两者用的不多似乎过时了,做出来的效果也不太好,因此主要讲解dreambooth,网络上流行的LORA应该也属于dreambooth,只是LORA比较小型快速。但是既然选择了云端部署,除非训练的数据集数量较少(大概30以下),能选择dreambooth就选择dreambooth吧。

以下是训练步骤

1.选择dreambooth,然后找到黄色箭头指向的创建栏目,为你创建的模型命名,选择源模型后点击创建

2.创建dreambooth需要一点时间,其间我们可以先把配置选项弄好(红色箭头指向必选,蓝色箭头可选,蓝色为使用LORA训练,建议不选,原因见上面描述)

3.点击高阶栏目展开,之后将红色箭头指向选项改成如图所示(如果不改可能会显存报错,平台显卡显存虽大但不等于无限)

4.继续配置,提示词随意,输入数据集路径(注:如下图可以看到我在JupyteLab中复制的路径为autodl-tmp/stable-diffusion-webui/train,但如果要让WebUI能够正确识别路径就必须把autodl-tmp/stable-diffusion-webui/train黄色部位的地方去掉,即只留下train即可)

5.点击训练配置器,如果训练画人的样子就点人物,训练画风或者形状就选物件/风格(注:如果想要训练画风但数据集里面全是人物,一样也要当做训练画风选择物件/风格。例如你的训练集里面的画是类似蒙娜丽莎这种油画,如果你是想训练这种油画风格就选物件/风格,而如果你想画蒙娜丽莎本人的样貌就选人物)。配置完毕后选择训练即可。一般对于100-150张512*512的数据集而言在2080中默认设置训练大概需要近2小时。

6.如果想要把在云端训练好的模型部署到本地,可以在autodl-tmp/stable-diffusion-webui/models/Stable-diffusion中找到该模型(出于演示目的,模型就不训练了,就假装这里已经有一个名叫123的模型文件夹)

7.根据www.autodl.com/docs/down/教…](www.autodl.com/docs/filezi… Diffusion的/models/Stable-diffusion中,这样就可以在本地使用属于自己的模型出图了

四.关于云端部署的其他注意事项

1.如果在云端配置栏目中的第16步出现需要输入账号密码的情况,请返回第13步找到黑色圆圈内的账号密码并输入

2.如果想要上传到云端的模型保存在网盘,可以进入AutoPanel进行网盘传输。传输完成后的文件在autodl-tmp文件夹中

3.用完云端记得释放实例,以免造成不必要的开销