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的下拉菜单中,可以选择各种不同的参数。

是否有[ControlNet]控制项取决于是否安装了ControlNet

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

表达式如下图:

引自wiki一目了然

各参数的功能和使用方法:

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用起来!

编辑于 2023-03-01 23:27
允许转载,请注明作者及出处
打开APP DoDo提供建站支持