type
status
date
slug
summary
tags
category
icon
password
基于Stable Diffusion的入门介绍
常用参数介绍
Prompt
提示词 | 对你想要生成的东西进行文字描述 |
Negative prompt
反向提示词 | 用文字描述你不希望在图像中出现的东西 |
Sampling Steps
采样步数 | 扩散模型的工作方式是从随机高斯噪声向符合提示的图像迈出小步,这样的步骤应该有多少个
更多的步骤意味着从噪声到图像的更小、更精确的步骤
增加这一数值等于直接增加了生成图像所需的时间。回报递减,取决于采样器 |
Sampling method
采样器 | 使用哪种采样器。Euler a(ancestral 的简称)以较少的步数产生很大的多样性,但很难做小的调整
随着步数的增加,非 ancestral 采样器都会产生基本相同的图像,如果你不确定的话,可以使用 LMS |
Batch count/n_iter
图像组数 | 每次生成图像的组数
一次运行生成图像的数量为 Batch count * Batch size |
Batch size
同时演算图像数量 | 同时生成多少个图像
增加这个值可以提高性能,但你也需要更多的 VRAM(说白了就是电脑显卡性能)
图像总数是这个值乘以批次数(除 4090 等高级显卡以外通常保持为 1) |
CFG Scale
无分类指导规模 | 图像与你的提示的匹配程度
增加这个值将导致图像更接近你的提示(根据模型),但它也在一定程度上降低了图像质量
可以用更多的采样步骤来抵消 |
Width
宽度 | 图像宽度,像素。要增加这个值,就需要更多的显存
大尺度的图像一致性会随着分辨率的提高而变差(模型是在 512x512 的基础上训练的)
非常小的值(例如 256 像素)也会降低图像质量(这个值必须是 8 的倍数) |
Height
高度 | 图像高度 |
Seed
种子 | 随机数的起点
保持这个值不变,可以多次生成相同(或几乎相同,如果启用了 xformers)的图像
没有什么种子天生就比其他的好,但如果你只是稍微改变你的输入参数,以前产生好结果的种子很可能仍然会产生好结果 |
Highres. fix
高清修复 | 提高生成图的分辨率,优化细节 |
Sampling steps 迭代步数
定义:
迭代是重复反馈的动作,神经网络中我们希望通过迭代进行多次的训练以到达所需的目标或结果。 每一次迭代得到的结果都会被作为下一次迭代的初始值。 一个迭代 = 一个正向通过 + 一个反向通过
更多的迭代步数可能会有更好的生成效果,更多细节和锐化,但是会导致生成时间变长。而在实际应用中,30步和50步之间的差异几乎无法区分(说白了就是30步之后的迭代效果很低)。
太多的迭代步数也可能适得其反,几乎不会有提高。
进行图生图的时候,正常情况下更弱的降噪强度需要更少的迭代步数(这是工作原理决定的)。你可以在设置里更改设置,让程序确切执行滑块指定的迭代步数。
Samplers 采样器
目前好用的有Euler,Euler a(更细腻),和DDIM。
推荐Euler a和DDIM,新手推荐使用Euler a。
Euler a富有创造力,不同步数可以生产出不同的图片。调太高步数(>30)效果不会更好。
DDIM收敛快,但效率相对较低,因为需要很多step才能获得好的结果,适合在重绘时候使用
LMS和PLMS是Euler的衍生,它们使用一种相关但稍有不同的方法(平均过去的几个步骤以提高准确性)。
大概30step可以得到稳定结果。
PLMS是一种有效的LMS(经典方法),可以更好地处理神经网络结构中的奇异性。
DPM2是一种神奇的方法,它旨在改进DDIM,减少步骤以获得良好的结果。它需要每一步运行两次去噪,它的速度大约是DDIM的两倍。但是如果你在进行调试提示词的实验,这个采样器效果不咋滴。
Euler是最简单的,因此也是最快的之一。
以下为各采样器对比参考图
CFG Scale提示词相关性
cfg scale是图像与提示词的契合度,该值越高,提示词对最终生成结果的影响越大,契合度越高。
过高的CFG Scale体现为粗犷的线条和过锐化的图像。
注意尺寸
出图尺寸太宽时,图中可能会出现多个主体。
要匹配好姿势,镜头和人物才不畸形,有时候需要限定量词,多人物时要处理空间关系和prompt遮挡优先级。
人数>人物样貌>环境样式>人物状态
咱设计产品也差不多:产品本体>产品样式>产品状态>环境
1024 之上的尺寸可能会出现不理想的结果!
推荐使用:小尺寸分辨率 + 高清修复(下方介绍)。
fix高清修复
通过勾选 txt2img(文生图) 页面上的"Highres. fix"复选框来启用。
默认情况下,txt2img(文生图)在高分辨率下会生成非常混沌的图像。该选项会使得模型首先生成一张小图片,
然后通过img2img将图片分辨率扩大,以实现高清大图效果。(细节上也会有一定的优化提升效果)
Batch Count与Batch Size
Batch Count(生成批次)
指定共生成几个批次。
Batch Size(每批数量)
指定每个批次并行生产多少张图片。
大的 Batch Size 需要消耗巨量显存。若显卡没有大于12G的显存,请不要调节Batch Size。(财力雄厚可以买3090显卡,模型训练假如说3090显卡需要8小时,那么1060显卡折算下来就需要24小时起步了)
对于显存极大的显卡而言,一次生成一张图片无法充分利用显卡计算容量,此时可将 Batch Size 提高以充分压榨算力。(预测显卡库存接下来会被官方下调,价格也借此上升)
Denoising Strength降噪强度
Denoising strength仅在img2img(图生图)或高清修复时被应用,其表征最后生成图片对原始输入图像内容的变化程度。通过调整该值,可以降低对画风的影响,但也会弱化img2img能力。值越高AI对原图的参考程度就越低 (同时增加迭代次数)。
对于图生图来说,低denoising意味着修正原图,高denoising就和原图就没有大的相关性了。一般来讲阈值是0.7 左右,超过0.7和原图基本上无关,0.3以下就是稍微改一些。
实际执行中,具体的执行步骤为Denoising strength * Sampling Steps。
不间断生成
在WebUI的生成键上右击即可出现不间断生成的选项。
随机种子
理论上,种子决定模型在生成图片时涉及的所有随机性。
实际的种子数值并不重要。它只是初始化一个定义扩散起点的随机初始值。
在应用完全相同参数(如Step、CFG、Seed、prompts)的情况下,生产的图片应当完全相同。
(不使用xformers等会带来干扰的优化器)
不同显卡由于微架构不同,可能会造成预料之外的不同结果。主要体现在GTX 10xx系列显卡上。
详见https://github.com/AUTOMATIC1111/stable-diffusion-webui/discussions/2017#discussioncomment-3873467
Denoising strength 降噪强度
Denoising strength仅在img2img(图生图)或 高清修复 时被应用,其表征最后生成图片对原始输入图像内容的变化程度。通过调整该值,可以降低对画风的影响,但也会弱化img2img能力。值越高 AI 对原图的参考程度就越低 (同时增加迭代次数)。
对于图生图来说,低denoising意味着修正原图,高denoising就和原图就没有大的相关性了。一般来讲阈值是 0.7 左右,超过 0.7 和原图基本上无关,0.3 以下就是稍微改一些。
实际执行中,具体的执行步骤为Denoising strength * Sampling Steps。
不间断生成
在WebUI的生成键上右击即可出现不间断生成的选项。
- 作者:Tony·Chen
- 链接:https://www.tony-chen.xyz//article/4629520a-d72a-472b-9f6e-ec8efb09d7a8
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。