【ComfyUI插件】ComfyUI Essentials插件(五)
前言:
该插件由cubiq大佬进行开发出来的(这个大佬也是Ipadapter和InstandID和Pulid的Comfyui插件的开发作者),此插件主要在图片处理、蒙版处理、采样器、文本编码器等多个方面提供了辅助节点帮助我们更好解决一些问题。(本节主要讲解了关于flux模型的采样器控制,以及对其模型架构参数的调整对生图的影响)
目录
先行:安装方法
一、Flux Sampler Parameters节点
二、Plot Sampler Parameters节点
三、LoRA for Flux Parameters节点
四、Text Encode for Sampler Params节点
五、Sampler Select Helper/Scheduler Select Helper节点
六、Flux Model Blocks Buster节点
七、Flux Attention Seeker节点
八、Console Debug节点
九、Debug Tensor Shape节点
十、Empty Latent Size Picker节点
十一、Remove Latent Mask节点
__ComfyUI Essentials插件(一): __https://articles.zsxq.com/essentials/1.html
__ComfyUI Essentials插件(二): __https://articles.zsxq.com/essentials/2.html
__ComfyUI Essentials插件(三): __https://articles.zsxq.com/essentials/3.html
__ComfyUI Essentials插件(四): __https://articles.zsxq.com/essentials/4.html
__ComfyUI Essentials插件(六): __https://articles.zsxq.com/essentials/6.html
本期使用的示例工作流在网盘:小黄瓜知识星球资料分享/插件节点讲解视频/Essentials/第五期文件夹中。
安装方法
安装方法,一共有2种
1、在manager里搜索ComfyUI Essentials,然后点击安装第一个即可
__2、在custom_nodes目录下调用cmd,然后输入git clone __https://github.com/cubiq/ComfyUI_essentials.git
项目地址:https://github.com/cubiq/ComfyUI_essentials.git
一、Flux Sampler Parameters节点
节点功能:该节点是专门针对flux模型的采样器
输入:
model -> 输入的flux模型
conditioning -> 输入的正向条件
latent_image -> 输入的潜空间图片
loras -> 输入的flux的lora模型,可选项
参数:
seed -> 种子数,?代表随机种子,也可以输入固定数值表示固定种子,同时也可以输入多个种子,注意多个种子数间使用,分隔,比如1,2,3 ,也可以输入这种格式0...10+5,这个表示一个范围输入,输入种子0,5,10
sampler -> 使用的采样器,采样器也是字符串输入的,所以也可以同时输入多个采样器名字跑示例图,但需要注意多个采样器间使用,分隔,如果觉得手动输入麻烦,可以和下文的采样提供器一起使用
scheduler -> 使用的调度器,调度器也是字符串输入的,所以也可以同时输入多个调度器名字跑示例图,但需要注意多个调度器间使用,分隔,如果觉得手动输入麻烦,可以和下文的调度提供器一起使用
steps -> 采样步数,默认20步,但需要注意的是flux模型没有一个固定步数能让输出的模型图片收敛,这也就意味着对于不同风格和内容的图片,有的可以15步就收敛,有的会30-40步才会收敛,所以这个需要根据自己实际情况进行调节,同时步数也可以像上面使用同样的方法用,分隔或者范围格式,输出不同步数下的图片
guidance -> 输入的正向条件的引导强度,一般默认即可,如果要手动修改最好不要超过4,同时引导强度也可以像上面使用同样的方法用,分隔或者范围格式,输出不同引导强度下的图片
max_shift -> 对于flux dev模型默认值为1.15,也就是默认不填写下的值。如果这个值调高会增强生成图片的细节和锐利度,但也可能会出现图片出现噪点多不收敛的情况,调低会一定程度降低图片细节,但也会让噪点多不收敛的图片收敛,一般调节范围在0到1.5范围内,根据实际情况进行调节,输入格式可以单个输入,范围输入,使用,分隔输入或者默认。
base_shift -> 对于flux dev模型默认值为0.5,也就是默认不填写下的值。如果这个值调高会增强生成图片的细节和锐利度,但也可能会出现图片出现噪点多不收敛的情况,调低会一定程度降低图片细节,但也会让噪点多不收敛的图片收敛,一般调节范围在0到1.5范围内,根据实际情况进行调节,输入格式可以单个输入,范围输入,使用,分隔输入或者默认。注:对于长宽相等图片,base_shift无效
denoise -> 降噪强度,默认值为1,值越大受提示词影响越大,值越小受潜空间图片影响越大,输入格式可以单个输入,范围输入或者使用,分隔输入
输出:
latent -> 输出的潜空间图片,用于后面解码形成最终图片
params -> 图片在形成过程中的参数记录,与后面的Plot Sampler Parameters一起使用来查看一次生成多次图片下每张图片的参数
上面为3个__seed__所生成的图片,下面为2个__sampler__和3个__scheduler__搭配生成的6张图片。
以下__base_shift__分别为0、0.5、1、1.5、2、3的效果图,可以看出__base_shift__值越大,人物更加锐利,并且画质有些虚。
二、Plot Sampler Parameters节点
节点功能:该节点的作用是在flux批量生成图片时显示每个图片的生成参数
输入:
images -> 输入的图片
params -> 图片生成过程中使用的参数
参数:
order_by -> 图片的排序方式,分为none、time、seed、steps、denoise、sampler、scheduler、guidance、max_shift、base_shift、lora_strength,可按照自己想法选择进行排序
cols_value -> 设置图片按列显示,分为none、time、seed、steps、denoise、sampler、scheduler、guidance、max_shift、base_shift、lora_strength,可按照自己想法按列显示图片,注:cols_value在cols_num大于1时才会生效,且不受下面cols_num控制
cols_num -> 设置显示的列数,-1时显示单张,0时显示图片数量平方根取整值的列数,其它都是按照设置数字显示列数,一般和order_by一起使用
add_prompt -> 是否显示提示词,可选择true或false或者excerpt(提示词摘要),根据需要选择即可,注:这个要显示提示词必须使用下文的Text Encode for Sampler Params文本编码器才能显示提示词
add_params -> 显示图片生成时使用的采样器参数,可选择true、false或者changes only,根据需要选择即可,一般默认true即可
输出:
IMAGE -> 输出设置显示样式后的图片
如下图,每张图片下面都显示了生成图片的参数。
三、LoRA for Flux Parameters节点
节点功能:加载flux的lora模型
参数:
lora_1 -> 要加载的flux的lora模型
strength_model_1 -> lora模型的影响强度,强度越大,lora模型效果越明显,但是flux模型的自由生成能力会出现一定下降,所以选择合适强度即可
输出:
LORA_PARAMS -> 输出的lora参数
以下__strength_model_1__分别为0、0.5、1.0的效果图,值越大,lora控制的风格越强。需要注意,一定要加载flux的lora模型,风格才会生效。有些时候即使加载了sd15或sdxl的lora模型,也能出图,但风格却不会生效。
四、Text Encode for Sampler Params节点
节点功能:这个节点是功能是实现一次生成一批图片中根据不同提示词生成不同图片,不同图片使用的提示词通过---\n实现分隔。注:目前仅可和flux采样器配合
参数:
clip -> 输入的clip模型
文本框 -> 输入的提示词,需要注意使用”---\n”进行分隔提示词来生成不同的图片
输出:
CONDITIONING -> 输出提示词编码后的条件
如下图,使用“---”将不同的提示词分开,从而同时生成一批不同的图片。
五、Sampler Select Helper/Scheduler Select Helper节点
节点功能:实现采样方法的输入 /实现调度器方法的输入,可单选可多选。注:目前仅可和flux采样器配合
这两个节点只是把__Sampler/Scheduler__做了一个开关,想要使用哪个__Sampler/Scheduler__就开启哪个就行了。
六、Flux Model Blocks Buster节点
节点功能:该节点的功能是通过修改预训练模型的特定“块”参数(例如权重和偏置)来调整模型,进而实现对模型的微调或修改。该节点利用输入的“块”配置(通过字符串表示)来批量更新模型的某些参数,主要适用于需要对模型特定层或模块进行调节的场景。
输入:
model -> 输入的flux模型
参数:
输入文本框 -> ##0---##18:调节序号0到18号的双流块,其默认权重都是1,按需调节即可;#0---#37:调节序号0到37号的单流块,其默认权重都是1,按需调节即可
更改的参数就是flux模型结构图中红色框内的”块“参数,其中MM-DiT-Block为双流块,Single-DiT-Block为单流块,模型默认有19个双流块,38个单流块。
输出:
MODEL -> 输出调节单流块和双流块后的flux模型
patched_blocks -> 输出调节的模块参数
Flux模型结构图
如下图,其中第1张图是未修改参数的默认生成图,第2张图是修改了第18个双流块参数为0时的生成图,可以看到图片中1girl对应的主体都未成型,文本和图片关联度减弱。第3张图是修改了第37个单流块参数为0时的生成图,可以看到主体和第1张图差别不大,但细节比较少。一般从后面几层去修改参数影响比较大。
七、Flux Attention Seeker节点
节点功能:通过调节clip_l和t5的clip模型每层强度,实现对于文字编码注意力机制的侧重影响,从而实现生图能力的一定控制和调节
输入:
clip -> 输入的clip模型
参数:
apply_to_query -> 是否对于把下面设置的clip模型中的块权重应用到query,query实际上就是我们想要查询的信息,它影响影响注意力块的行为
apply_to_key -> 是否对于把下面设置的clip模型中的块权重应用到key,key是序列中的其他位置的表示,决定当前输入应该关注哪些位置,和query一起决定了模型的注意力集中到哪个位置,影响注意力块的行为
apply_to_value -> 是否对于把下面设置的clip模型中的块权重应用到value,value是与 Key 相关的具体信息,用于最终加权输出,影响注意力的表现强弱
apply_to_out -> 是否对于把下面设置的clip模型中的块权重应用到output,output是 Query 与 Key 相似度计算出的权重,应用到 Value 上后得到的结果。它捕捉了当前输入如何与其他输入相关联的加权信息,影响注意力的表现强弱
clip_l_0---clip_l_11 -> 设置clip_l模型中每个块的权重,默认1,注意在flux模型中clip_l模型影响注意力较弱,一般用于画面微调
t5xxl_0---t5xxl_23 -> 设置t5模型中每个块的权重,默认1,在flux模型中对于注意力影响较大
RESET ALL -> 重置模型中块的权重,重置为1
ZERO ALL -> 设置模型中块的权重都为0
REPEAT FIRST -> 将clip_l和t5模型的所有块的权重都和clip_l和t5中第一个块设置的值相同
输出:
CLIP -> 输出的CLIP编码
如下图,第1张是默认生成图,第2张则是修改了__clip__参数的图,可以看到,人物主体差别不大,适用于微调,第3张则是修改了__t5xxl__参数图,该参数影响很大,整个画风都变了。一般从后面几层去修改参数影响比较大。
八、Console Debug节点
节点功能:在后台显示debug结果
参数:
value -> 输入要显示的value
文本栏 -> 显示值的注释,比如注明显示的值是什么意思
后台显示结果:
九、Debug Tensor Shape节点
节点功能:显示图片等使用tensor表示的数据的形状
参数:
tensor -> 输入的tensor类型数据
后台显示结果:
十、Empty Latent Size Picker节点
节点功能:这个节点的作用是提供自定义设置的潜空间图片
参数:
resolution -> 提供预设分辨率,按需选择即可
batch_size -> 设置一批图片的数量
width_override -> 设置自定义的宽度,覆盖掉预设中分辨率的宽度
height_override -> 设置自定义的高度,覆盖掉预设中分辨率的高度
输出:
LATENT -> 输出的空的潜空间图片
width -> 输出的图片宽度
height -> 输出的图片高度
如下图,蓝色group是使用的默认__resolution__,而绿色group设置__width_override__和__height_override__后,图片大小发生变化。
十一、Remove Latent Mask节点
节点功能:去除潜空间图片中的蒙版
参数:
samples -> 输入的潜空间图片
LATENT -> 去除蒙版后的潜空间图片
如下图,在引入__Remove Latent Mask__节点后将潜空间的蒙版mask去除了。
__ComfyUI Essentials插件(一): __https://articles.zsxq.com/essentials/1.html
__ComfyUI Essentials插件(二): __https://articles.zsxq.com/essentials/2.html
__ComfyUI Essentials插件(三): __https://articles.zsxq.com/essentials/3.html
__ComfyUI Essentials插件(四): __https://articles.zsxq.com/essentials/4.html
__ComfyUI Essentials插件(六): __https://articles.zsxq.com/essentials/6.html