5.7 KiB
5.7 KiB
Documentation
- Class name: CR_ModelMergeStack
- Category: Comfyroll/Model Merge
- Output node: False
- Repo Ref: https://github.com/RockOfFire/ComfyUI_Comfyroll_CustomNodes
CR_ModelMergeStack节点旨在将多个模型检查点合并为一个统一的栈。它允许用户切换包含每个检查点,并调整模型和剪辑组件的贡献比例,为基于特定需求合并不同模型提供了灵活的方法。
Input types
Required
- switch_1
- switch_1参数决定是否将第一个检查点包含在模型栈中。它在节点的操作中起着关键作用,通过启用或禁用特定检查点的集成来发挥作用。
- Comfy dtype: COMBO['Off', 'On']
- Python dtype: str
- ckpt_name1
- ckpt_name1参数指定要潜在包含在模型栈中的第一个检查点文件的名称。这对于识别要合并的特定模型至关重要。
- Comfy dtype: STRING
- Python dtype: str
- model_ratio1
- model_ratio1参数调整第一个检查点的模型组件在合并栈中的贡献权重。它对于微调每个模型在最终输出中的影响很重要。
- Comfy dtype: FLOAT
- Python dtype: float
- clip_ratio1
- clip_ratio1参数设置第一个检查点的剪辑组件的贡献权重。它对于平衡剪辑指导在合并模型栈中的整体影响很重要。
- Comfy dtype: FLOAT
- Python dtype: float
- switch_2
- switch_2参数控制第二个检查点是否包含在模型栈中。与switch_1类似,它对于选择哪些检查点被集成到最终栈中至关重要。
- Comfy dtype: COMBO['Off', 'On']
- Python dtype: str
- ckpt_name2
- ckpt_name2参数识别可能包含在模型栈中的第二个检查点文件。它是确定要合并的模型的关键因素。
- Comfy dtype: STRING
- Python dtype: str
- model_ratio2
- model_ratio2参数修改第二个检查点的模型组件在栈中的权重。它影响该模型的特征在合并输出中的显著程度。
- Comfy dtype: FLOAT
- Python dtype: float
- clip_ratio2
- clip_ratio2参数定义第二个检查点的剪辑组件的权重,影响剪辑指导在合并的模型栈中被考虑的程度。
- Comfy dtype: FLOAT
- Python dtype: float
- switch_3
- switch_3参数决定是否将第三个检查点包含在模型栈中。它是控制最终栈组成的另一个关键开关。
- Comfy dtype: COMBO['Off', 'On']
- Python dtype: str
- ckpt_name3
- ckpt_name3参数指定可能是模型栈一部分的第三个检查点文件。将特定模型包含在合并过程中至关重要。
- Comfy dtype: STRING
- Python dtype: str
- model_ratio3
- model_ratio3参数调整第三个检查点的模型组件在合并栈中的影响。它对模型贡献的总体平衡很重要。
- Comfy dtype: FLOAT
- Python dtype: float
- clip_ratio3
- clip_ratio3参数设置第三个检查点的剪辑组件在栈中的影响水平。它对合并模型栈中剪辑指导的最终混合很重要。
- Comfy dtype: FLOAT
- Python dtype: float
Optional
- model_stack
- 可选的model_stack参数允许用户提供一个要合并的初始模型列表。它对于在现有模型栈的基础上构建很有用。
- Comfy dtype: MODEL_STACK
- Python dtype: List[Tuple[str, float, float]]
Output types
- MODEL_STACK
- MODEL_STACK输出包含具有各自比率的合并模型检查点列表。它是节点操作的主要结果,代表了合并的模型栈。
- Comfy dtype: MODEL_STACK
- Python dtype: List[Tuple[str, float, float]]
- show_help
- show_help输出提供了一个指向文档的URL链接,以获取更多帮助。它将用户引导到外部资源,以获取有关节点功能更多信息。
- Comfy dtype: STRING
- Python dtype: str
Usage tips
- Infra type: CPU
Source code
class CR_ModelMergeStack:
@classmethod
def INPUT_TYPES(cls):
checkpoint_files = ['None'] + folder_paths.get_filename_list('checkpoints')
return {'required': {'switch_1': (['Off', 'On'],), 'ckpt_name1': (checkpoint_files,), 'model_ratio1': ('FLOAT', {'default': 1.0, 'min': -100.0, 'max': 100.0, 'step': 0.01}), 'clip_ratio1': ('FLOAT', {'default': 1.0, 'min': -100.0, 'max': 100.0, 'step': 0.01}), 'switch_2': (['Off', 'On'],), 'ckpt_name2': (checkpoint_files,), 'model_ratio2': ('FLOAT', {'default': 1.0, 'min': -100.0, 'max': 100.0, 'step': 0.01}), 'clip_ratio2': ('FLOAT', {'default': 1.0, 'min': -100.0, 'max': 100.0, 'step': 0.01}), 'switch_3': (['Off', 'On'],), 'ckpt_name3': (checkpoint_files,), 'model_ratio3': ('FLOAT', {'default': 1.0, 'min': -100.0, 'max': 100.0, 'step': 0.01}), 'clip_ratio3': ('FLOAT', {'default': 1.0, 'min': -100.0, 'max': 100.0, 'step': 0.01})}, 'optional': {'model_stack': ('MODEL_STACK',)}}
RETURN_TYPES = ('MODEL_STACK', 'STRING')
RETURN_NAMES = ('MODEL_STACK', 'show_help')
FUNCTION = 'list_checkpoints'
CATEGORY = icons.get('Comfyroll/Model Merge')
def list_checkpoints(self, switch_1, ckpt_name1, model_ratio1, clip_ratio1, switch_2, ckpt_name2, model_ratio2, clip_ratio2, switch_3, ckpt_name3, model_ratio3, clip_ratio3, model_stack=None):
model_list = list()
if model_stack is not None:
model_list.extend([l for l in model_stack if l[0] != 'None'])
if ckpt_name1 != 'None' and switch_1 == 'On':
(model_list.extend([(ckpt_name1, model_ratio1, clip_ratio1)]),)
if ckpt_name2 != 'None' and switch_2 == 'On':
(model_list.extend([(ckpt_name2, model_ratio2, clip_ratio2)]),)
if ckpt_name3 != 'None' and switch_3 == 'On':
(model_list.extend([(ckpt_name3, model_ratio3, clip_ratio3)]),)
show_help = 'https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes/wiki/Model-Merge-Nodes#cr-model-stack'
return (model_list, show_help)