模型合并示例
这些工作流程背后的理念是,您可以进行涉及多个模型合并的复杂工作流程,测试它们,然后在您对结果满意时通过取消CheckpointSave节点的静音来保存检查点。默认情况下,CheckpointSave节点将检查点保存到output/checkpoints/文件夹中。
您可以在:advanced->model_merging中找到这些节点
这个第一个示例是两个不同检查点之间简单合并的基本示例。
您可以在 ComfyUI (opens in a new tab) 中加载这些图像以获得完整的工作流程。
在ComfyUI中,保存的检查点包含用于生成它们的完整工作流程,因此它们可以像图像一样在UI中加载,以获取用于创建它们的完整工作流程。
这个示例是使用简单块合并合并3个不同检查点的示例,其中unet的输入、中间和输出块可以有不同的比例:
由于Loras是模型权重上的补丁,因此它们也可以合并到模型中:
您还可以像在这个示例中一样减去模型权重并添加它们,用于从非修复模型创建修复模型,公式为:(inpaint_model - base_model) * 1.0 + other_model
如果您熟悉其他UI中的"Add Difference"选项,这就是在ComfyUI中执行它的方式。
您应该注意的一个重要事项是,模型会以用于硬件上的推理的精度合并和保存,因此通常是16位浮点。如果您想在32位浮点下进行合并,启动ComfyUI:--force-fp32
高级合并
CosXL
以下是如何通过合并从常规SDXL模型创建CosXL模型的示例。要求是 CosXL基础模型 (opens in a new tab),SDXL基础模型 (opens in a new tab) 和您想要转换的SDXL模型。在这个示例中,我使用了 albedobase-xl (opens in a new tab)。