前言:

通过本教程的学习,我们将逐一探索每个节点的独特功能和应用场景,并掌握如何将它们应用于实际项目中。你将能够:批量处理图像,节省时间和精力;巧妙地合并和交错列表数据,创造新的序列;重复执行操作,以实现特定的数据处理模式;执行数学运算,特别是针对列表数据的乘积操作;将文本列表转换为整洁的字符串,便于展示和分析。

__Comfyroll插件(一): __https://articles.zsxq.com/comfyroll/1.html

__Comfyroll插件(二): __https://articles.zsxq.com/comfyroll/2.html

__Comfyroll插件(三): __https://articles.zsxq.com/comfyroll/3.html

__Comfyroll插件(五): __https://articles.zsxq.com/comfyroll/5.html

__Comfyroll插件(六): __https://articles.zsxq.com/comfyroll/6.html

__Comfyroll插件(七): __https://articles.zsxq.com/comfyroll/7.html

__Comfyroll插件最终篇+应用示例: __https://articles.zsxq.com/comfyroll/8.html

目录:

先行:安装方法

一、CR Aspect Ratio节点

二、CR Apply ControlNet节点

三、CR Multi-ControlNet Stack/CR Apply Multi-ControlNet节点

四、CR Load LoRA节点

五、CR Model Merge Stack/ CR Apply Model Merge节点

六、CR 批量管理数据节点

七、CR Module Pipe节点

高清修复示例工作流

安装方法:

在ComfyUI主目录里面输入CMD回车。image

在弹出的CMD命令行输入git clone xxx,即可开始下载。image

github项目地址:https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes.git

一、CR Aspect Ratio节点

节点索引:CR SD1.5 Aspect Ratio/ CR SDXL Aspect Ratio/ CR Aspect Ratio/ CR Aspect Ratio Banners/ CR Aspect Ratio Social Media/ CR_Aspect Ratio For Print

节点功能:这些节点可以输出相应参数的值,并且可以设定潜空间的大小,内置相应的潜空间尺寸模板。image

参数:

width -> 设置潜空间的宽度

height -> 设置潜空间的高度

aspect_ratio -> 选择潜空间模板尺寸 **如果选择custom,则尺寸按照width和height设置**

swap_dimensions -> 是否将width和height的值互换

upscale_factor -> 用于在调整图像宽高比之后对图像进行缩放,即不改变原始尺寸

prescale_factor -> 用于图像的放大,即增加图像的尺寸。

batch_size -> 设置潜空间数量

注意:如下图所示我们在上面设置aspect_ratio为custom,设置upscale_factor为2,所生成图像尺寸为300*250,并没有尺寸的变化,在下面设置aspect_ratio为300*250,然后prescale_factor设置为2,最终出图为700*500,与设置的width和height并无关系。image

输出:

width -> 输出设置的宽度值

height -> 输出设置的高度值

upscale factor -> 输出设置的放大值

prescale factor -> 输出设置的放大值

batch size -> 输出设置的潜空间数量值

empty latent -> 输出符合设定条件的潜空间图像

二、CR Apply ControlNet节点

节点功能:该结点用来注入ControlNet信息,可以设置ControlNet的强度等。image

输入:

conditioning -> 表示输入的条件信息

control_net -> 加载对应的ControlNet

image -> 表示输入的预处理图像

注意:输入的image必须是预处理图像,如下图所示,我们使用预处理器对原图进行边缘提取,然后通过该节点传入canny模型将控制信息注入conditioning信息流中,从而控制我们最终生成的图像和原图的边缘信息相符合。image

参数:

switch -> 表示是否开启ControlNet

strength -> 用于调整控制的影响程度 **太高可能产生负面影响**

注意:如下图所示,当我们设置控制强度为1时,可以看到最终生成的图像几乎毁掉了,所以大家可以通过自己的尝试调整控制强度的值,找到最符合需求的一个参数值。image

输出:

CONDITIONING -> 输出混合控制信息的条件信息

三、CR Multi-ControlNet Stack/CR Apply Multi-ControlNet节点

节点功能:这两个节点需要配合使用,CR Multi-ControlNet Stack节点用来批量加载ControlNet控制模型,CR Apply Multi-ControlNet节点用来将控制信息注入条件信息从而让它起作用。image

输入:

image_x -> 传入预处理图像 **注意是预处理图像,其次是与ControlNet对应的预处理图像**

controlnet_stack -> 依然是这个节点 **可以通过串联增加模型数量**

base_positive -> 正向提示词编码后的条件信息

base_negative -> 反向提示词编码后的条件信息

参数:

switch_x -> 表示是否开启第x个ControlNet

controlnet_x -> 加载该ControlNet模型

controlnet_strength_x -> 设置ControlNet模型的控制强度

start_percent_x -> 设置控制信息注入条件信息的时机 **Advanced ControlNet库可提供更加精细的控制**

end_percent_x -> 设置控制信息在条件信息结束的时机 **Advanced ControlNet库可提供更加精细的控制**

如图:我们使用两个ControlNet,分别是canny和depth两个模型,对原始图像进行分析后将预处理图像传入CR Multi-ControlNet Stack,然后将混合后的控制信息通过CR Apply Multi-ControlNet节点进行控制信息注入,最终控制去噪过程,生成与原图符合的图像信息。image

"错误示范"如图:假如我们并没有正确的给到模型对应的预处理图像,如下所示:我们将canny的预处理图像给到depth模型,将depth预处理图像给到canny模型,最终生成的图像几乎没有美观可言。image

输出:

CONTROLNET_STACK -> 输出加载的ControlNet模型信息

base_pos -> 输出蕴含控制信息的正向条件信息

base_neg -> 输出蕴含控制信息的反向条件信息

四、CR Load LoRA节点

节点功能:这些节点是给与一定的LoRA模型加载策略,比如随机注入或者顺序注入等。

节点检索:CR Load LoRA/ CR Random Weight LoRA/ CR LoRA Stack/ CR Apply LoRA Stack/ CR Random LoRA Stackimage

输入:

model -> 加载大模型

clip -> 加载CLIP模型

lora_stack -> 加载Lora栈 **多个lora stack可以进行串联**

参数:

switch -> 选择是否开启lora

lora_name -> 选择要是使用的lora

strength_model -> 选择大模型的强度 **在lora和大模型之间进行强度设置**

strength_clip -> 选择CLIP模型的强度 **在lora和CLIP模型之间进行强度设置**

exclusive_mode -> 参数控制是否启用独占模式。如果设置为 “On”,则在每次随机选择时,只能选择一个LoRA。

stride -> 参数指定了在随机选择 LoRA 之前要进行多少次不随机选择。

force_randomize_after_stride -> 如果设置为 “On”,则在完成指定次数的非随机选择后,强制执行一次随机选择。

weight_min -> 模型权重的最小值

weight_max -> 模型权重的最大值

chance -> 表示该Lora被选中的概率

如图:我们控制参数和下面的对比实验相同,仅strength_model和strength_clip进行改变,下图所示为strength_clip设置为0,strength_model为1,最终生成的图像和我们加载的Lora并没有任何关系。

image

__
如图:我们控制参数和下面的对比实验相同,仅strength_model和strength_clip进行改变,下图所示为strength_clip设置为1,strength_model为0,最终生成的图像依然和我们加载的Lora并没有任何关系。__image

如图:我们控制参数和下面的对比实验相同,仅strength_model和strength_clip进行改变,下图所示为strength_clip设置为1,strength_model为1,最终生成的图像使用了我们加载的lora。image

综上所述:我们这两个参数是互相配合使用的, 可以暂且理解为乘法的关系,其中一个为0则控制强度为0,所以我们使用的时候可以调整两个参数到合适的范围。

原理思考:lora他不仅需要文本(CLIP),还需要大模型(SD1.5,SDXL等),因为我们lora训练最重要的就是底模(大模型),标签(CLIP)和数据(出图)

输出:

IMAGE -> 输出处理之后的图像

如图:为Random LoRA Srack的示例工作流,大家可以参考一下。

image

五、CR Model Merge Stack/ CR Apply Model Merge节点

节点功能:这两个节点用来执行模型融合的效果,可以将指定的模型按照指定的比率进行融合。image

输入:

model_stack -> 大模型加载堆栈,可以批量进行串联

参数:

switch_x -> 这个参数用于控制是否启用特定的大模型文件

ckpt_namex -> 这个参数用于指定要使用的大模型文件。

model_ratiox -> 这个参数表示相应大模型中模型的混合占比

clip_ratiox -> 这个参数表示相应大模型中CLIP模型的混合占比

merge_method -> 这个参数指定了用于将多个模型合并成一个的方法 **“Recursive” 方法是一种迭代方法,通过递归地将多个模型合并成一个。“Weighted” 方法是一种加权方法,根据预先设定的权重将多个模型进行加权合并。**

normalise_ratios -> 这个参数用于指定是否要对模型的比率进行规范化 **如果设置为 “Yes”,则在合并模型之前,系统会对模型的比率进行规范化处理,以确保它们的总和等于1。**

weight_factor -> 这个参数仅在使用 “Weighted” 方法时有效,它用于控制加权合并方法中每个模型的权重

输出:

MODEL -> 输出混合后的大模型选项

CLIP -> 输出混合后的CLIP模型选项

model mix info -> 打印混合比例,混合模型等信息

如图:我混合麦橘V7大模型和ghost动漫模型,并且设置相关的权重,通过model mix info节点输出最终混合的比例,然后输入正向提示词为dog,但是最终生成的图像却是个狗狗绅士,所以这个模型混合的结果还是挺不可控的,大家可以自行尝试。

image

六、CR 批量管理数据节点

节点功能:这些节点用来对工作流进行美化,可通过pipe单通道传递多个信息。

节点检索:CR Data Bus In/ CR Data Bus Out/ CR 8 Channel In/ CR 8 Channel Outimage

输入:

pipe -> 输入包含所有信息的管道线

any -> 输入想要传递的数据

ch -> 输入想要传递的数据

输出:

pipe -> 输出包含所有信息的管道线

any -> 输出与输入对应的数据

ch -> 输出与输入对应的数据

如图:我们使用对应的IN和OUT节点,通过pipe进行混合数据传输,然后再In节点我们在ch1传入123,在ch2传入456,那么相应的我们可以在Out节点的ch1输出123,在ch2输出456

image

七、CR Module Pipe节点

节点功能:这些节点用来对工作流进行美化,可通过pipe单通道传递多个信息。

节点检索:CR Module Pipe Loader/ CR Module Input/ CR Module Outputimage

输入:

pipe -> 蕴含所有信息的管道

model -> 要加载的大模型

pos -> 正向提示词条件信息

neg -> 反向提示词条件信息

latent -> 潜空间图像信息

vae -> 使用到的vae模型

clip -> 使用到的clip模型

controlnet -> 要是用的controlnet模型

image -> 图像信息

参数:

seed -> 随机数种子

control_after_generate -> 种子控制方法

输出:

pipe -> 蕴含所有信息的管道

"高清修复"示例工作流:

学习完以上节点,您就可以搭建“高清修复”示例工作流了image

image

这里使用SDXL的大模型,加载Lora进行生成过程干预,后续使用两个放大模型进行图像高清修复,先做单倍放大后进行两倍放大,后续通过ksampler二次采样(降低重绘幅度),解码后得到最终图像,我们通过CR pipe节点来进行数据传输,工作流更加美观,最终出图如下:image

孜孜不倦,方能登峰造极。坚持不懈,乃是成功关键。

__Comfyroll插件(一): __https://articles.zsxq.com/comfyroll/1.html

__Comfyroll插件(二): __https://articles.zsxq.com/comfyroll/2.html

__Comfyroll插件(三): __https://articles.zsxq.com/comfyroll/3.html

__Comfyroll插件(五): __https://articles.zsxq.com/comfyroll/5.html

__Comfyroll插件(六): __https://articles.zsxq.com/comfyroll/6.html

__Comfyroll插件(七): __https://articles.zsxq.com/comfyroll/7.html

__Comfyroll插件最终篇+应用示例: __https://articles.zsxq.com/comfyroll/8.html