零基础学WebUI-系列专栏:https://blog.csdn.net/vip_zgx888/category_13005532.html?spm=1001.2014.3001.5482
零基础学ComfyUI-系列专栏:https://blog.csdn.net/vip_zgx888/category_13006170.html?spm=1001.2014.3001.5482
你是不是很好奇webui出图不同参数效果对比是怎样做出来的?
其实很简单,这里用到的是webUI系统自带的脚本功能,通过调整某一参数的值或选项,让webUI按照参数一次性出图并进行对比不同参数值所带来的出图效果变化。
脚本功能常用于模型或者图片的参数调整测试,便于开发者对比区别选择最佳效果的参数,web-UI界面中的位置在插件区的最下方:
1 脚本文件安装
一般情况下,webUI自带的脚本功能就足以使用,且网络上分享的脚本文件也很少。
如你下载了新的脚本功能文件,将文件放至:根目录/scripts
我们这里讲解一下常被用到的三款脚本功能,分别是:
(1)提示词矩阵:对比一个或多个提示词对出图的影响
(2)从文件中载入提示词
(3)XYZ图表
2 提示词矩阵
在不确定某个/多个提示词会对出图带来什么变化时,我们可以通过提示词矩阵脚本进行出图对比,功能选择位置如下。
使用方法是提示词与需要测试的提示词用竖线“|”分开,可以同时测试多个提示词。
2.1 书写格式
测试单一提示词效果:提示词 | 需要测试的提示词 (生成2组图对比)
测试2个提示词效果:提示词 | 测试提示词A | 测试提示词B (生成4组图对比)
下面我们用一组案例来说明具体使用方法,首先在提示词中输入 1 girl并出图,出图后我们先固定随机种子,避免测试时种子变化对出图产生影响。
2.2 案例测试1
测试提示词:snowing(下雪)对出图的影响
固定种子数
在提示词栏填写:1 girl | snowing
打开脚本→提示词矩阵(参数默认)
点图像生成得到出图如下:
可以看到使用提示词矩阵功能后,“1 girl | snowing”是按照 “1 girl ”和“ 1 girl,snowing”两个组合进行出图来对比提示词snowing对出图的影响。
2.3 案例测试2
测试提示词snowing(下雪)、street(街道)两个提示词对出图的影响
固定种子数
在提示词栏填写:1 girl | snowing | street
打开脚本→提示词矩阵(参数默认)
点图像生成得到出图如下:
两组提示词的对比,在出图过程中实际是对这2个提示词进行了词组组合进行对比,4张图的提示词组合分别如下:
1 girl,
1 girl,snowing,
1 girl,street,
1 girl, snowing, street,
大家也可以继续增加对比词组,测试对比出图效果。
2.4 参数功能
再来看一下脚本功能区各个参数的作用:
把可变部分放在提示词文本的开头:字面意思,调整提示词位置,对提示词权重略有影响
为每张图片使用不同种子:字面意思,每张图的种子都不相同,添加了新的变量
选择提示词:提示词矩阵功能是对正向提示词还是对反向提示词起作用
选择分隔符:保持默认即可
网络图边框:让生成的对比图之间有一定的空隙
3 从文本框或文件载入提示词
如果我们希望同时进行多组不同提示词出图,且每组提示词的参数也不相同,则可以利用从文本框或文件载入提示词,它可以支持直接输入文本,也可以直接从文件载入。
我们在脚本的提示词输入列表中输入提示词,则上方提示词输入区对应的提示词则不再起作用。在提示词输入列表的多组提示词,通过换行符隔开,则代表每一行生成一张图进行对比。
3.1 案例测试
我们先在正向提示词区输入:1 car,black,在不开启脚本功能的情况下正常会呈现一辆黑色的汽车。
我们在脚本区域“提示词输入列表”中输入white,red,blue,yellow四个不同的颜色,并用换行符把他们隔开,然后测试下会生成什么颜色的汽车?
可以看到最终按照“提示词输入列表”中的4个颜色分别进行出图。
提示词输入列表中也可以对出图的各类参数进行控制、对比:
书写格式为: --参数名称 空格 “参数变量” ,如果参数变量是数值则不用双引号,另外不同的参数之间要用空格隔开
3.2 常用参数名称对照
“sd_model”:模型名称
“prompt”:正向提示词
“negative_prompt”:负面提示词
“styles”:提示词模板
“seed”:随机种子
“sampler_index”:采样器索引
“sampler_name”:采样器名称
“batch_size”:生成批次
“n_iter”:每批数量
“steps”:采样迭代步数
“cfg_scale”:提词相关性
“width”:宽度
“height”:高度
3.3 案例测试2
我们来测试一组对照,脚本提示词输入列表中填入:
--prompt "1 cat" --negative_prompt "BadDream" --width 768 --height 512
--prompt "1 dog" --negative_prompt "BadDream" --width 768 --height 512
4 X/Y/Z图表
X/Y/Z图表可以说是我们最常使用的脚本功能,它几乎涵盖了所有可以设置的参数,可以非常直观地看到多个参数向量的不同数值的组合变化。
我们用一组案例来演示X/Y/Z轴的使用方法:我们生成了一个女孩在春天里的照片,希望同时比较天气提示词变化(X轴)、采样方式变化(Y轴)、不同的迭代步数(Z轴)对图片的影响。
先在提示词框中填入想要生成的内容:
通过X轴进行春夏秋冬四个提示词的对比:脚本X轴类型中,选择:prompt S/R(提示词查找/替换),X轴值中填入:spring,summer,autumn,winter(意思是用summer,autumn,winter三个词分别替换spring)
通过Y轴进行不同采样方法对出图的对比:脚本Y轴类型中,选择sampler(采样方法),Y轴值在下拉框中选择需要对比的2个采样方法:DPM++2M和Euler a
通过Z轴进行不同迭代步数对出图的对比:脚本Z轴类型中,选择steps(迭代步数),Z轴值填入:15,25
点击图像生成,我们就可以看到生成的图片对比效果:
注:数值类除了直接输入数字外,还可以在括号中填写增减量的方式进行填写。比如15,20,25,30可以更换为15-30(+5);步距为1时,15,16,17,18可以更换为15-18即可。