前言:

该插件由cubiq大佬进行开发出来的(这个大佬也是Ipadapter和InstandID和Pulid的Comfyui插件的开发作者),此插件主要在图片处理、蒙版处理、采样器、文本编码器等多个方面提供了辅助节点帮助我们更好解决一些问题。(本节中主要包含一些数学的运算节点以及对SD3模型架构中参数的调整)

目录

先行:安装方法

一、Simple Math Dual节点

二、Simple Math Slider节点

三、Simple Math Percent节点

四、Simple Math Condition节点

五、Simple Math Boolean节点

六、Simple Math Slider low-res节点(节点存在bug)

七、Model Complie节点

八、SD3 Attention Seeker L/G节点

九、SD3 Attention Seeker T5节点

__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/5.html

安装方法

安装方法,一共有2种

1、在manager里搜索ComfyUI Essentials,然后点击安装第一个即可

image

__2、在custom_nodes目录下调用cmd,然后输入git clone __https://github.com/cubiq/ComfyUI_essentials.git

image

image

image

项目地址:https://github.com/cubiq/ComfyUI_essentials.git

一、Simple Math Dual节点

节点功能:该节点功能是可以同时进行二次运算

image

输入:

a -> 输入的数值参数a,可以输入整型,浮点型数据

b -> 输入的数值参数b,可以输入整型,浮点型数据

c -> 输入的数值参数c,可以输入整型,浮点型数据

d -> 输入的数值参数d,可以输入整型,浮点型数据

参数:

value_1 -> 输入的计算公式一,可以根据输入参数自由组织公式,和value_2的公式是并行关系,必选项

value_2 -> 输入的计算公式二,可以根据输入参数自由组织公式,和value_1的公式是并行关系,必选项

输出:

int_1 -> 将输入公式一根据输入参数计算得到的结果取整数的值

float_1 -> 将输入公式一根据输入参数计算得到的结果取浮点数的值

int_2 -> 将输入公式二根据输入参数计算得到的结果取整数的值

float_2 -> 将输入公式二根据输入参数计算得到的结果取浮点数的值

image

二、Simple Math Slider节点

节点功能:该节点的作用是实现通过拖拽进度条和设置最大最小值来输出对应的整数或者浮点数

image参数:

value -> 进度条,最小值是0.000,最大值是1.000,通过拖拽进行设置

min -> 设置最小值,用于后面的输出使用,默认为0.000

max -> 设置最大值,用于后面的输出使用,默认为1.000

rounding -> 获取结果浮点数时,小数点后面保留的位数,需要注意的是0代表小数全保留

输出:

FLOAT -> 获取结果的浮点数表示形式,计算公式为(max-min)*value + min,得到的结果再根据rounding确定保留几位小数就是最终的结果

INT -> 获取结果的整数表示形式,计算公式为(max-min)*value + min,得到的结果再取整就是最终结果。需要注意的是取整时小数部分是直接舍弃的

其实相当于输出值相当于__min + value * (max - min)__值,__rounding__为2表示保留2位小数。

image

如下图,可以使用__slider__对图片进行实时缩放。

image

三、Simple Math Percent节点

节点功能:以2位小数的形式实现百分比数值的输出

image

参数:

value -> 输入的2位小数,用来设置百分比输出,默认0,最大1.00,表示设置从百分之0到百分之百的输出

输出:

Float -> 输出的2位小数,用来表示百分比输出,默认0,最大1.00,表示从百分之0到百分之百的输出

以下通过__Percent__实现图片按百分比进行缩小

image

四、Simple Math Condition节点

__节点功能:根据输入条件来判断执行自定义的true或false公式并输出运行结果 __

image

输入:

evaluate -> 输入的判断条件

a -> 输入的参数a

b -> 输入的参数b

c -> 输入的参数c

参数:

on_true -> 设置如果输入判断条件为true,执行的公式

on_false -> 设置如果输入判断条件为false,执行的公式

输出:

INT -> 输出的结果保留为整数

FLOAT -> 输出结果保留为浮点数

__on_true__和__on_false__一定要输入变量名,否则会报错。

image

五、Simple Math Boolean节点

节点功能:直接输出true或false

image

参数:

value -> 设置输入true或false

BOOLEAN -> 输出设置的true或false

image

六、Simple Math Slider low-res节点

节点功能:该节点的作用是实现通过拖拽进度条和设置最大最小值来输出对应的整数或者浮点数,与前面的slider不同的是进度条的单位不一样。注:该节点存在bug,INT只会输出null

image

参数:

value -> 进度条,最小值是0,最大值是10,通过拖拽进行设置

min -> 设置最小值,用于后面的输出使用,默认为0.000

max -> 设置最大值,用于后面的输出使用,默认为1.000

rounding -> 获取结果浮点数时,小数点后面保留的位数,需要注意的是0代表小数全保留

输出:

FLOAT -> 获取结果的浮点数表示形式,计算公式为(max-min)*value*0.1 + min,得到的结果再根据rounding确定保留几位小数就是最终的结果

INT -> 这个目前输出有问题,作者编写时忘记设置输出这个结果了,所以导致目前只输出null

以下实现的是根据在2到10倍数值范围内的浮点数数值来放大图片

image

七、Model Compile节点

节点功能:通过自设置进行模型编译,实现在不改变模型生成能力的情况下提高模型生成速度的作用。注:很多时候提升速度不是很明显,所以这个节点不是很推荐使用

image

输入:

model -> 接入的模型

参数:

fullgraph -> 布尔值,是否启用完整图模式。默认为 False

dynamic -> 布尔值,是否启用动态形状支持。默认为 False

mode -> 编译模式

- default: 默认模式,兼顾性能与稳定性。

- reduce-overhead: 减少编译的额外开销,适合较简单的模型。

- max-autotune: 启用最大程度的自动调优,以获得最佳性能。

- max-autotune-no-cudagraphs: 在禁用 CUDA 图的情况下启用最大自动调优,适用于某些 GPU 相关限制场景。

输出:

MODEL -> 编译后的模型

个人实测这个工作流编译前后对比速度几乎一样,甚至更慢,而且有时有的模型连接这个节点编译会报错,所以不推荐使用

image

八、SD3 Attention Seeker L/G节点

节点功能:通过调节clip_l和clip_g的clip模型每层强度,实现对于SD3模型文字编码注意力机制的侧重影响,从而实现生图能力的一定控制和调节

image

输入:

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;SD3模型中clip_l模型对比clip_g影响注意力较弱,一般用于整体画面微调,会改变画面人物和背景

clip_g_0---clip_g_31 -> 设置clip_g模型中每个块的权重,默认1;在SD3模型中相比clip_l模型影响力更强,一般用于画面背景大调节,对于人物主体影响不大,但是参数调节过高可能会导致画面与提示词表现不相符

输出:

CLIP -> 输出的CLIP模型

关于SD3工作流的搭建,大家可跳转ComfyUI Essentials插件(一)

image

以下分别为默认图、调节clip_l生成图、调节clip_g生成图、同时调节clip_l和clip_g生成图。可以看出,clip_l更适用于人物主体的微调,而clip_g更适合背景的调整。

image

九、SD3 Attention Seeker T5节点

节点功能:通过调节SD3模型的t5模型每层强度,实现对于SD3模型文字编码注意力机制的侧重影响,从而实现生图能力的一定控制和调节

image

输入:

clip -> 输入的clip模型

参数:

apply_to_query -> 是否把下面设置的t5模型中的块权重应用到query;query实际上就是我们想要查询的信息,它影响影响注意力块的行为

apply_to_key -> 是否把下面设置的t5模型中的块权重应用到key;key是序列中的其他位置的表示,决定当前输入应该关注哪些位置,和query一起决定了模型的注意力集中到哪个位置,影响注意力块的行为

apply_to_value -> 是否对于把下面设置的t5模型中的块权重应用到value;value是与 Key 相关的具体信息,用于最终加权输出,影响注意力的表现强弱

apply_to_out -> 是否对于把下面设置的t5模型中的块权重应用到output;output是 Query 与 Key 相似度计算出的权重,应用到 Value 上后得到的结果。它捕捉了当前输入如何与其他输入相关联的加权信息,影响注意力的表现强弱

t5xxl_0---t5xxl_23 -> 设置t5模型中每个块的权重,默认1,在SD3模型中相比clip_l和clip_g模型影响力更强,一般用于画面主体大调节,但是参数调节过高可能会导致画面与提示词表现不相符

输出:

CLIP -> 输出的CLIP模型

image

__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/5.html