Stable Diffusion使用方法
树图思维导图提供 【虎课网】Stable Diffusion 在线思维导图免费制作,点击“编辑”按钮,可对 【虎课网】Stable Diffusion 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:0abb184a5013d027aeb922183867908b
【虎课网】Stable Diffusion思维导图模板大纲
Stable Diffusion是一个文本到图像的潜在扩散模型,由CompVis、Stability AI和LAION的研究人员和工程师创建。它使用来自LAION-5B数据库子集的512x512图像进行训练。使用这个模型,可以生成包括人脸在内的任何图像,因为有开源的预训练模型,所以我们也可以在自己的机器上运行它。
只需下载后,部署到对应环境,即可运行。
对硬件要求挺高,基本要3系以上显卡,显存至少要8GB,SD的模型占据的硬盘也比较多,至少有20-30GB空间。
可以使用谷歌云盘来部署Stable Diffusion进行绘图。
Stable Diffusion免费,单独安装部署在自己的机器运行即可。
模型非常多,建议可以前往civitAI去搜索自己想要的模型。
苹果系列电脑(非M芯片)
1、下载Stable Diffusion
从github网站上直接下载源码,代码是托管在github上;有代码能力的同学可以自己通过git工具clone,其他同学直接下载就可以。
登陆下载地址,点code下载,下载地址:https://github.com/CompVis/stable-diffusion?refer=17yongai.com
2、修改源代码
苹果系统上暂时不支持高版本cudatoolkit,只能使用9.0版本
3、创建图片存放目录
在项目目录下载,创建目录,用于之后存放图片:【./stable-diffusion-main/Workspace】。到这里,所有的准备工作就算完成了。下来通过命令进行环境的安装,以及图片生成了。
4、下载模型文件
从hugging face上下载模型文件
(1)必须确定好,模型的名称是【stable-diffusion-v-1-4-original】,下载的文件是 【sd-v1-4.ckpt】有4.27GB。下载的文件,放到之前的项目工程的目录下:【./stable-diffusion-main/models/ldm/sd-v1-4.ckpt】;请勿改变位置,之后会用到。 下载链接:https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/blob/main/sd-v1-4.ckpt?refer=17yongai.com
(2)注意两点:
必须 在hugging face上注册账号。
必须 在页面的【Model card】选项卡下,勾选接受协议。先接受协议,然后才能下载。
完成这两步后,才可以在【Files and versions】选项卡里,下载到模型文件;否则看到的就是 403报错页面。
5、环境的安装
(1)下载conda安装软件,下载链接:https://docs.conda.io/en/latest/miniconda.html?refer=17yongai.com Conda 是一个python环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。这样就方便在各个版本python之间切换。也不会和电脑系统已经安装的python有冲突。
(2)在工程目录下,执行以下命令conda env create -f environment.yaml conda activate ldm
(3)更新latent diffusion模型
conda install pytorch torchvision -c pytorch pip install transformers==4.19.2 diffusers invisible-watermark pip install -e .
6、出图
Stable Diffusion通过文字描述进行出图:
直接复制下面的命令行执行。命令很长,可以复制到自己屏幕上查看。命令必须在项目目录下执行:python scripts/txt2img.py --prompt "Asia girl, glossy eyes, face, long hair, fantasy, elegant, highly detailed, digital painting, artstation, concept art, smooth, illustration, renaissance, flowy, melting, round moons, rich clouds, very detailed, volumetric light, mist, fine art, textured oil over canvas, epic fantasy art, very colorful, ornate intricate scales, fractal gems, 8 k, hyper realistic, high contrast" --plms --outdir ./stable-diffusion-main/Workspace --ckpt ./stable-diffusion-main/models/ldm/sd-v1-4.ckpt --ddim_steps 100 --H 512 --W 512 --seed 8
命令是由3部分组成:python + 脚本名称 + 很多的选项设定;以下是把每个选项都折行来看,是为了让大家看的清楚,执行命令的时候,还是要复制上面命令。
注意:
第一次执行命令的时候,会自动从网上下载必要的模型文件,因此务必保证电脑在联网的状态。由于使用CPU进行计算,因此出图的数据非常慢。
Windows系统
1、下载并解压安装包:
链接: https://pan.baidu.com/s/1Ip83B9bVARkuKEUK3O9AtA 密码: qc60
2、解压novelai-webui-aki-v2压缩包
3、解压webui启动器压缩包
4、将webui启动器中文件放入novelai-webui-aki-v2文件夹中
5、运行安装启动器运行依赖-dotnet-6.0.11
6、运行启动器
7、等待安装(需要10到20分钟)
8、安装完成,进入界面
9、进入模型管理中“变分自编码器(VAE) 模型”,下载SD模板
10、进入Stable Diffusion 模型中下载安装模型文件(可以将压缩包中的模型导入到其中)
11、可在版本管理中下载自己想要的版本,一键升级可升级至最新版本
12、现在就可以开始启动SD了(启动时请关闭魔法代理)
13、等待安装加载完毕,默认浏览器中生成SDweb端界面
子主题 1
14、进入设置中选择SD模版
15、选择你想要使用的模型,输入关键词就可生成图片
子主题 1
云端部署(本次教程主要使用Google colab来进行操作,你需要一点点魔法的力量,这个请先准备好~ google colab免费政策:单次最长12小时后自动断开连接。期间可能会因为各种原因导致无法连接。因此若希望获得更高、更稳定的使用量限额,可以订阅Colab Pro。 由于是免费使用Google colab,期间可能存在一些异常或突然断开的情况也不可避免)
第一步: https://colab.research.google.com/drive/1GJTkyeGI_AgtSVSGoD4vZXqyg-uh6FL-?usp=share_link 点击上方提供的链接,可以直接跳转到Google colab页面,并且可以看到很多很多代码(这些都不重要,这里不需要你懂代码)
第二步:登陆
我们点击“复制到云端硬盘”(左上角,仔细看一下),这时候若没有登录Google账户的话,会提示登录,那么我们就先来登录一下吧。点击登录后,网页就会自动跳转到Google登录界面,没有Google账户的话,可以先注册一个哦~
这里我们输入账号、密码后,就会自动返回到Google colab页面了,右上角就能看到我们自己的头像了(表示已经登录啦~)
然后点击“复制到云端硬盘”,左下角会有提示 复制成功后会打开一个新的页面,这时候这些执行代码就已经保存到了了我们自己的Google硬盘中了,之前的页面可以关闭了
在这里可以改个名称,不改也可以(看个人喜好)
第三步:连接
点击右侧“连接”,系统会自动执行连接获取google colab的GPU
连接成功后,点击RAM&磁盘,就能看到资源中显示的信息,说明成功了 如果没有成功,就重新尝试连接一下
第四步:跑代码
点击左侧“播放”按钮,这时代码会自动开始执行 这里我们只需要安静的等待(等待时间可能比较久,耐心一点) 我们可以看到下方一直在执行~
好吧,大概等待了有7分钟,终于执行完成了 一直等执行成功后,出现了<Public WebUI Colab cloudflared URL:>这行文字 点击后面的url,就可以打开stable_diffusion_webui的界面了
第五步:安装成功
子主题 1
提示词和反向提示词
提示词内输入的东西就是你想要画的东西,反向提示词内输入的就是你不想要画的东西
提示框内只能输入英文,所有符号都要使用英文半角,词语之间使用半角逗号隔开
一般原则
一般来说越靠前的词汇权重就会越高,所以多数情况下的提示词格式是
质量词,媒介词,主体,主体描述,背景,背景描述,艺术风格和作者
权重调节
最直接的权重调节就是调整词语顺序,越靠前权重越大,越靠后权重越低
可以通过下面的语法来对关键词设置权重,一般权重设置在0.5~2之间,可以通过选中词汇,按ctrl+↑↓来快速调节权重,每次步进为0.1
(best quality:1.3)
词条组合
几个词用括号合起来并不会让ai把他们视为一体,即使打上权重也不行,比如以下两者实际上是完全等价的
(car, rockt, gun:1.3)
(car:1.3), (rocket:1.3), (gun:1.3)
词条组合的方式和自然语言差不多,要使用介词,比如and,with,of 等等,比如
(car with guns and rockets)
采样方法
采样方法有很多,但是目前常用的基本只有几种
Euler a
速度最快的采样方式,对采样步数要求很低,同时随着采样步数增加并不会增加细节,会在采样步数增加到一定步数时构图突变,所以不要在高步数情景下使用
DPM++2S a Karras 和 DPM++ SDE Karras
这两个差不太多,似乎SDE的更好,总之主要特点是相对于Euler a来说,同等分辨率下细节会更多,比如可以在小图下塞进全身,代价是采样速度更慢
DDIM
很少会用到,但是如果想尝试超高步数可以使用,随着步数增加可以叠加细节
采样步数
一般来说大部分时候采样部署只需要保持在20~30之间即可,更低的采样部署可能会导致图片没有计算完全,更高的采样步数的细节收益也并不高,只有非常微弱的证据表明高步数可以小概率修复肢体错误,所以只有想要出一张穷尽细节可能的图的时候才会使用更高的步数
生成批次和生成数量
生成批次是显卡一共生成几批图片
生成数量是显卡每批生成几张图片
也就是说你每点击一次生成按钮,生成的图片数量=批次*数量
需要注意的是生成数量是显卡一次所生成的图片数量,速度要比调高批次快一点,但是调的太高可能会导致显存不足导致生成失败,而生成批次不会导致显存不足,只要时间足够会一直生成直到全部输出完毕
输出分辨率(宽度和高度)
图片分辨率非常重要,直接决定了你的图片内容的构成和细节的质量
输出大小
输出大小决定了画面内容的信息量,很多细节例如全身构图中的脸部,饰品,复杂纹样等只有在大图上才能有足够的空间表现,如果图片过小,像是脸部则只会缩成一团,是没有办法充分表现的
但是图片越大ai就越倾向于往里面塞入更多的东西,绝大多数模型都是在512*512分辨率下训练的,少数在768*768下训练,所以当输出尺寸比较大比如说1024*1024的时候,ai就会尝试在图中塞入两到三张图片的内容量,于是会出现各种肢体拼接,不受词条控制的多人,多角度等情况,增加词条可以部分缓解,但是更关键的还是控制好画幅,先算中小图,再放大为大图
大致的输出大小和内容关系参考:
约30w像素,如512*512,大头照和半身为主
约60w像素,如768*768,单人全身为主,站立或躺坐都有
越100w像素,如1024*1024,单人和两三人全身,站立为主
更高像素,群像,或者直接画面崩坏
宽高比例
宽高比例会直接决定画面内容,同样是1girl的例子:
方图512*512,会倾向于出脸和半身像
高图512*768,会倾向于出站着和坐着的全身像
宽图768*512,会倾向于出斜构图的半躺像
所以要根据想要的内容来调整输出比例
提示词相关性(CFG)
CFG很难去用语言去描述具体的作用,很笼统的来说,就是给你所有的正面和反面提示词都加上一个系数,所以一般CFG越低,画面越素,细节相对较少,CFG越高,画面越腻,细节相对较多
二次元风格CFG可以调的高一些以获得更丰富的色彩和质感表达,一般在7~12,也可以尝试12~20
写实风格CFG大都很低,一般在4~7,写实模型对CFG很敏感,稍微调多一点可能就会古神降临,可以以0.5为步进来细微调节
随机种子
随机种子可以锁定这张图的初始潜在空间状态,意思就是如果其他参数不变,同一个随机种子生成的图应该是完全相同的,可以通过锁定随机种子来观察各种参数对画面的影响,也可以用来复现自己和他人的画面结果
点击筛子按钮可以将随机种子设为-1,也就是随机
点击回收按钮可以将随机种子设为右边图片栏里正在看的那张图片的随机种子
需要注意的是,即使包括随机种子在内的所有参数相同,也不能保证你生成的而图片和他人完全一致,随着显卡驱动,显卡型号,webui版本等其他因素的变动,同参数输出的图片结果都会可能会发生变动,这种变动可能是细微的细节区别,可能是彻底的构图变化
面部修复
面部修复在早期模型生成的的写实图片分辨率不高的时候有一定价值,可以在低分辨率下纠正错误的写实人脸,但是现在的模型的脸部精度已经远超早期模型,而面部修复功能会改变脸部样貌,所以只要无视这个功能就好
VAE设置
VAE的作用是修正最终输出的图片色彩,如果不加载VAE可能会出现图片特别灰的情况,设置位置:
设置-StabelDiffusion-模型的VAE
设置之后记得点击上方的保存设置,VAE是通用的,可以和任何模型组合
整合包已经自带了final-pruned.vae.pt,一般用来修正二次元模型,但是这个VAE可能会在图片计算完成之后提示错误:
modules.devices.NansException: A tensor with all NaNs was produced in VAE. This could be because there's no enough precision to represent this picture. Try adding --no-half-vae commandline to fix this.
如果出现这种情况,需要在启动器额外参数一栏填写--no-half-vae来解决
除了这个VAE,还有别的VAE可供使用,觉得颜色偏灰可以去切换使用:
https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.ckpt
https://huggingface.co/stabilityai/sd-vae-ft-ema-original/resolve/main/vae-ft-ema-560000-ema-pruned.ckpt
VAE放置路径:*\models\VAE
使用这两个VAE如果发现二次元图片算出来线条很粗还有红边紫边的情况,切换回final-pruned.vae.pt即可解决
图片信息
每个SD生成的图片都会自动写入相关参数信息,包括正面和反面提示词,采样步数,采样器,CFG,随机种子,尺寸,模型哈希,模型名称,Clip skip,超分参数等等
在图片信息界面拖入他人或者自己的原始图片都可以读取到参数信息,点击文生图等相应按钮即可将图片和参数一同复制到指定模块,需要注意的是他可能会改变你的webui不容易注意到的一些设置,比如controlnet等插件的设置,Clip skip,ENSD等等,如果后面用自己的参数算图发现不太对劲的时候可以检查一下这些部分
图片保存和浏览
所有输出的图片都会自动存放在以下路径,不同模块的图片都分开放置在相应文件夹下
*\outputs
webui自带了一个图库浏览器,可以满足小规模的图片浏览,用来调取参数也更方便,但是毕竟是网页程序,在大规模图片管理方面还是使用资源管理器效率更高
树图思维导图提供 网上租房系统 在线思维导图免费制作,点击“编辑”按钮,可对 网上租房系统 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:4ea2c6899371b79a47eacdb8b287d106
树图思维导图提供 鱼塘选择途径之媒体网络:案例分析 在线思维导图免费制作,点击“编辑”按钮,可对 鱼塘选择途径之媒体网络:案例分析 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:dce4835f9b67d75eaf2d0ec0b8906ca0