Stable Diffusion Web UI中Script的用法

Mazz
发布于 2023-03-01 23:24
Script有什么用?
在玄学中找到答案——更方便直观地在众多输出图中找到最想要的那一张;从玄学里初窥玄机——更好地了解Prompt以及众多参数的作用和相互关系。
Script功能在哪里?
Script位于SD Web UI界面的左下角,下拉菜单共有三项:Prompt matrix、Prompts from file or textbox和X/Y/Z plot

下面简单说一下三种script的用法。
Prompt matrix (提示词矩阵)
使用方法:在Prompt输入框中,写入需要进行矩阵组合的prompt词,词与词之间用竖线”|“隔开。
例如,输入 word1 | word2 | word3 | word4 | word5,将导出含有这些提示词全组合结果,并生成一个2的5次方即32张图的矩阵。矩阵图位于outputs/*-grids/ 目录下。

其他功能:
勾选Put variable parts at start of prompt,应用于矩阵的提示词至于最前,以提升权重
勾选Use different seed for each picture,将在矩阵中的每一张图使用不同的seed
Select prompt可以在选择在正负面提示词中使用矩阵
Select joining char当加入矩阵的提示词非单个词汇时,选择使用逗号或空格
Prompt matrix可以帮助筛选更有效的prompt,有助于精简prompt数量和提升准确度。
Prompts from file or textbox (从文件或输入框中导入提示词)
此功能可以实现批量输出使用不同prompt和seed的图
注意:使用时,每一系列提示词是以“行”为单位,换行则代表新的prompt并生成新的图。
例如,在txt文件中写入
a cute cat, water color
a naughty dog, photography
a ugly bird, line art
然后upload,则会导出三张图:一只可爱的水彩猫咪,一个顽皮狗照片以及一个线稿丑鸟。

Prompts from file or textbox是比较容易被忽略的功能,如果你常利用睡觉时间进行Batch output,可以考虑此功能,它比简单增加Batch count或者“Generate forever”更强大,因为可以应用不同的prompt和seed。
X/Y/Z plot (X/Y/Z图表)
在X type、Y type和Z type的下拉菜单中,可以选择各种不同的参数。

如果简单用X、Y、Z分别代表已经写入的参数数量,则,如果都选了,则生成Z张X*Y的矩阵图,如果只选X和Y,则生成一张X*Y的矩阵图,如果选X和Z,则生成Z张含有一行X张图的图,以此类推……表达虽然拗口,但XYZ与生成的图是有对应关系的,假设你需要生成对应n个种子的n张图,那么种子参数应该放在Z里。
表达式如下图:

各参数的功能和使用方法:
Nothing - 神马都不选
Seed - 填写不同的seed,用逗号隔开
Var.seed - 基本上与下面的Var.Strength一起使用。
Var.strength - 这个功能很有趣,与Var.seed一起使用,可以融合两个不同的seed带来的效果。例如,已经选好的seed是123,在Var.seed里写入456,接着在Var.strength里写入一个0~1之间的值,例如0.5,则你会生成一张带有50% seed123和50% seed456效果的图,如果写入0.1,则两个seed的风格配比为10%和90%,以此类推。当然,还可以使用语法,例如写入0-1(+0.2)或0-1[5],则会平均生成5张不同配比的图。
Steps / Hires steps / CFG Scale - 使用方法差不多,输入多个值,输出多个结果。
Prompt S/R - 可以替换Prompt里的提示词,例如,如果原始prompt里写入long hair,在Prompt S/R里写入long hair, short hair, curly hair则会输出3张不同发型的图。如果想要替换的prompt里带有标点符号,则必须使用引号,例如,long hair, short hair, “curly hair, bow tie”
Prompt order - 输入想打乱顺序的prompt,用逗号隔开。此功能可以用于观察prompt顺序对于权重的影响。
Sampler - 选择不同的Sampling method,点选输入框后面的小图标可以自动输入所有采样方法。
Checkpoint name - 可以用于观察使用不同model时的输出效果,同样点选输入框后面的小图标可以自动输入所有model名称。
Sigma Churn / Sigma min / Sigma max / Sigma noise - 感觉没什么用,用于控制噪点的数量及大小。
Eta - 即η值,一个0~1之间的值,用于控制迭代时噪点的数量,不知道有什么大用……
Clip skip - 我个人理解与Prompt的指向性相关,例如prompt里写dog,那么layer1就是dog,layer2就是哈士奇,layer3是雄性哈士奇…… 而Clip skip可以设定在第几个layer停止,对于输出结果的影响比较玄学。(也可能理解的不对)
Denoising / Hires upscaler - 用于控制选择Hires.fix后的参数。
VAE - 一般Model都已经VAE内置,只有少量的Model使用外挂VAE,这里可以选择外挂的VAE。较少使用。
Styles - 选择已经保存过的不同Style,选输入框后面的小图标可以自动输入。
ControlNet - 如果你安装了ControlNet,那么这里会有一系列ControlNet的参数控制,具体就先不讲了。
活用Script,可以高效地筛选满意的输出结果,也可以进行比较深入的研究。不要一张一张开盲盒了,Script用起来!
全部评论(2)