LoRA Power-Merger ComfyUI 插件完全指南
1. 插件简介
LoRA Power-Merger ComfyUI 是一个专门用来合并多个 LoRA 模型的超级工具。这个插件可以让你把不同的 LoRA 模型像搭积木一样组合在一起,创造出全新的效果。
GitHub 原地址: https://github.com/larsupb/LoRA-Merger-ComfyUI
这个插件能带来什么神奇效果?
- 把多个 LoRA 模型融合成一个更强大的模型
- 就像把不同口味的咖啡豆混合,创造出独特的新口味
- 可以减少模型占用的内存空间,让你的电脑跑得更顺畅
- 支持多种融合方式,就像料理有不同的烹饪方法
2. 如何安装
方法一:ComfyUI Manager 安装(推荐)
- 打开 ComfyUI
- 点击 Manager 按钮
- 搜索 "LoRA-Merger-ComfyUI"
- 点击安装并重启 ComfyUI
方法二:手动安装
- 下载插件文件:https://github.com/larsupb/LoRA-Merger-ComfyUI
- 解压到 ComfyUI 的
custom_nodes文件夹里 - 重启 ComfyUI
3. 节点逐一解析
3.1 PM LoRA Loader 节点 - LoRA 加载器
这个节点就像一个 LoRA 文件的搬运工,负责把你电脑里的 LoRA 文件搬到工作台上准备使用。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 模型文件 | lora_name | 下拉列表 | 选择你想要的 LoRA | 就像从衣柜里挑选今天要穿的衣服 | 选择要加载的 LoRA 模型文件 | 从列表中选择你要合并的 LoRA 文件 |
| 权重块设置 | lbw | 文本框 | 空或具体数值 | 就像调节各个音响喇叭的音量大小 | 设置 LoRA 各层的权重分配 | 输入 "1,0.8,0.6" 表示不同层用不同强度 |
3.2 PM LoRA Merger 节点 - LoRA 合并器(普通版)
这个节点就像一个超级搅拌机,能把多个 LoRA 模型混合在一起。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 第一个模型 | lora1 | 连接输入 | 必填 | 就像准备做菜的第一个食材 | 输入第一个要合并的 LoRA 模型 | 连接 PM LoRA Loader 的输出 |
| 合并模式 | mode | 下拉选择 | add | 就像选择炒菜还是煮汤的烹饪方法 | 选择模型合并的算法方式 | add=简单相加,ties=平衡融合 |
| 密度参数 | density | 数值滑块 | 0.5 | 就像调节咖啡的浓度 | 控制合并时保留信息的比例 | 0.5表示各保留一半,1.0表示全保留 |
| 运算设备 | device | 下拉选择 | cuda | 就像选择用燃气灶还是电磁炉做菜 | 选择使用 GPU 还是 CPU 运算 | cuda=显卡运算(快),cpu=处理器运算(慢) |
| 数据精度 | dtype | 下拉选择 | float16 | 就像选择照片的清晰度 | 设置计算时的数据精度 | float16=中等精度省内存,float32=高精度占内存 |
3.3 PM LoRA SVD Merger 节点 - LoRA 高级合并器
这个节点就像一个精密的化学实验室,能更精确地控制 LoRA 模型的合并过程。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 第一个模型 | lora1 | 连接输入 | 必填 | 就像准备做菜的第一个食材 | 输入第一个要合并的 LoRA 模型 | 连接 PM LoRA Loader 的输出 |
| 合并模式 | mode | 下拉选择 | add_svd | 就像选择精密加工的工艺方法 | 选择基于 SVD 的合并算法 | add_svd=精确相加,ties_svd=精确平衡 |
| 密度参数 | density | 数值滑块 | 0.5 | 就像调节咖啡的浓度 | 控制合并时保留信息的比例 | 0.5表示各保留一半 |
| SVD 等级 | svd_rank | 数值输入 | 32 | 就像选择压缩照片的质量等级 | 设置 SVD 分解后的维度大小 | 32=中等压缩,64=较少压缩 |
| 卷积等级 | svd_conv_rank | 数值输入 | 32 | 就像选择视频压缩的质量 | 设置卷积层的 SVD 维度 | 对特殊类型的 LoRA 生效 |
| 运算设备 | device | 下拉选择 | cuda | 就像选择用燃气灶还是电磁炉 | 选择使用 GPU 还是 CPU 运算 | cuda=显卡(快),cpu=处理器(慢) |
| 数据精度 | dtype | 下拉选择 | float16 | 就像选择照片的清晰度 | 设置计算时的数据精度 | float16=省内存,float32=高精度 |
3.4 PM LoRA Apply 节点 - LoRA 应用器
这个节点就像一个化妆师,把合并好的 LoRA 模型"化妆"到你的主模型上。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 基础模型 | model | 连接输入 | 必填 | 就像准备化妆的脸 | 要应用 LoRA 的基础模型 | 连接你的主模型 |
| 文本编码器 | clip | 连接输入 | 必填 | 就像理解你说话的翻译官 | 处理文本提示词的编码器 | 连接你的 CLIP 模型 |
| LoRA 模型 | lora | 连接输入 | 必填 | 就像要用的化妆品 | 要应用的 LoRA 模型 | 连接合并后的 LoRA |
| 模型强度 | strength_model | 数值滑块 | 1.0 | 就像化妆的浓淡程度 | 控制 LoRA 对模型的影响强度 | 1.0=完全应用,0.5=一半强度 |
| 文本强度 | strength_clip | 数值滑块 | 1.0 | 就像调节翻译官的敏感度 | 控制 LoRA 对文本理解的影响 | 通常和模型强度保持一致 |
3.5 PM LoRA Save 节点 - LoRA 保存器
这个节点就像一个文件管理员,把合并好的 LoRA 模型保存到你的电脑硬盘里。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| LoRA 模型 | lora | 连接输入 | 必填 | 就像要存档的游戏进度 | 要保存的 LoRA 模型数据 | 连接合并后的 LoRA |
| 文件名 | filename | 文本输入 | "merged_lora" | 就像给文件起个名字 | 设置保存的文件名称 | 输入 "我的合并模型" |
| 保存路径 | path | 文本输入 | "loras" | 就像选择放在哪个文件夹 | 设置保存文件的目录 | 留空则保存到默认位置 |
3.6 PM LoRA Resize 节点 - LoRA 尺寸调整器
这个节点就像一个图片压缩工具,能把 LoRA 模型变得更小但保持效果。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| LoRA 模型 | lora | 连接输入 | 必填 | 就像要压缩的视频文件 | 要调整大小的 LoRA 模型 | 连接你的 LoRA 模型 |
| 目标等级 | target_rank | 数值输入 | 32 | 就像选择压缩后的文件大小 | 设置调整后的模型维度 | 32=较小,64=中等,128=较大 |
| 运算设备 | device | 下拉选择 | cuda | 就像选择用什么设备来压缩 | 选择使用 GPU 还是 CPU 运算 | cuda=显卡(快),cpu=处理器(慢) |
| 数据精度 | dtype | 下拉选择 | float16 | 就像选择压缩的质量 | 设置计算时的数据精度 | float16=平衡,float32=高质量 |
3.7 XY: PM LoRA Strengths 节点 - LoRA 强度测试器
这个节点就像一个实验室,能自动测试不同强度组合的效果。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 第一组 LoRA | lora_a | 文本输入 | 文件名列表 | 就像选择第一组测试样品 | 输入第一组 LoRA 文件名 | 输入 "lora1.safetensors,lora2.safetensors" |
| 第二组 LoRA | lora_b | 文本输入 | 文件名列表 | 就像选择第二组测试样品 | 输入第二组 LoRA 文件名 | 输入不同的 LoRA 文件名 |
| 合并模式 | mode | 下拉选择 | add | 就像选择测试的方法 | 选择合并算法 | add=简单测试,ties=复杂测试 |
| 最小强度 | min_strength | 数值输入 | 0.0 | 就像设置测试的最小音量 | 设置强度测试的下限 | 0.0表示从零开始测试 |
| 最大强度 | max_strength | 数值输入 | 1.0 | 就像设置测试的最大音量 | 设置强度测试的上限 | 1.0表示最大强度 |
| 应用范围 | apply_strength | 下拉选择 | "model + clip" | 就像选择化妆的部位 | 选择强度影响的组件 | "model + clip"=全部影响 |
| 测试步数 | steps | 数值输入 | 10 | 就像设置测试几个档位 | 设置强度测试的步数 | 10表示测试10个不同强度 |
| 运算设备 | device | 下拉选择 | cuda | 就像选择用什么设备测试 | 选择使用 GPU 还是 CPU | cuda=显卡(快),cpu=处理器(慢) |
| 数据精度 | dtype | 下拉选择 | float16 | 就像选择测试的精度 | 设置计算时的数据精度 | float16=平衡,float32=高精度 |
3.8 XY: PM LoRA Modes 节点 - LoRA 模式测试器
这个节点就像一个料理实验室,能自动测试不同烹饪方法的效果。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 第一组 LoRA | lora_a | 文本输入 | 文件名列表 | 就像选择第一组食材 | 输入第一组 LoRA 文件名 | 输入你的 LoRA 文件名 |
| 第二组 LoRA | lora_b | 文本输入 | 文件名列表 | 就像选择第二组食材 | 输入第二组 LoRA 文件名 | 输入不同的 LoRA 文件名 |
| 测试模式 | modes | 文本输入 | "add, ties, dare_linear" | 就像选择不同的烹饪方法 | 输入要测试的合并模式 | 用逗号分隔不同模式 |
| 最小密度 | min_density | 数值输入 | 0.0 | 就像设置最淡的口味 | 设置密度测试的下限 | 0.0表示最稀薄 |
| 最大密度 | max_density | 数值输入 | 1.0 | 就像设置最浓的口味 | 设置密度测试的上限 | 1.0表示最浓郁 |
| 密度步数 | density_steps | 数值输入 | 5 | 就像设置测试几个浓度 | 设置密度测试的步数 | 5表示测试5个不同浓度 |
| 运算设备 | device | 下拉选择 | cuda | 就像选择用什么炉子 | 选择使用 GPU 还是 CPU | cuda=显卡(快),cpu=处理器(慢) |
| 数据精度 | dtype | 下拉选择 | float16 | 就像选择测量的精度 | 设置计算时的数据精度 | float16=平衡,float32=高精度 |
3.9 XY: PM LoRA SVD Rank 节点 - LoRA 精度测试器
这个节点就像一个照片压缩实验室,能测试不同压缩质量的效果。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 第一组 LoRA | lora_a | 文本输入 | 文件名列表 | 就像选择第一组照片 | 输入第一组 LoRA 文件名 | 输入你的 LoRA 文件名 |
| 第二组 LoRA | lora_b | 文本输入 | 文件名列表 | 就像选择第二组照片 | 输入第二组 LoRA 文件名 | 输入不同的 LoRA 文件名 |
| 合并模式 | mode | 下拉选择 | add | 就像选择压缩的方法 | 选择合并算法 | add=简单合并,ties=复杂合并 |
| 密度参数 | density | 数值输入 | 0.5 | 就像设置固定的浓度 | 设置合并时的密度参数 | 0.5表示中等浓度 |
| 最小等级 | min_rank | 数值输入 | 16 | 就像设置最低的压缩质量 | 设置 SVD 等级的下限 | 16=高压缩(小文件) |
| 最大等级 | max_rank | 数值输入 | 128 | 就像设置最高的压缩质量 | 设置 SVD 等级的上限 | 128=低压缩(大文件) |
| 等级步数 | rank_steps | 数值输入 | 5 | 就像设置测试几个质量档位 | 设置等级测试的步数 | 5表示测试5个不同等级 |
| 运算设备 | device | 下拉选择 | cuda | 就像选择用什么设备压缩 | 选择使用 GPU 还是 CPU | cuda=显卡(快),cpu=处理器(慢) |
| 数据精度 | dtype | 下拉选择 | float16 | 就像选择测量的精度 | 设置计算时的数据精度 | float16=平衡,float32=高精度 |
4. 使用技巧和建议
4.1 新手入门建议
- 先从简单的 add 模式开始,就像学做菜先学煮面条
- 密度参数建议从 0.5 开始尝试,这样不容易出错
- 如果电脑配置不高,建议选择 float16 精度节省内存
4.2 进阶使用技巧
- 使用 XY 测试节点可以批量测试效果,找到最佳组合
- SVD 合并虽然慢一些,但效果通常更好,适合制作最终作品
- 合并后记得用 PM LoRA Save 保存,避免重复计算
4.3 性能优化建议
- 有独立显卡的用户选择 cuda,速度快很多
- 内存不足时可以降低 SVD 等级,减少内存占用
- 批量测试时可以先用小范围参数,确认方向后再精细调整
5. 常见问题解答
Q: 为什么我的 LoRA 合并后效果不好?
A: 可能是两个 LoRA 风格差异太大,就像把甜品和咸菜混合。建议选择风格相近的 LoRA 进行合并。
Q: 合并时提示内存不足怎么办?
A: 可以尝试:1) 选择 float16 精度;2) 降低 SVD 等级;3) 关闭其他占内存的程序。
Q: 不同合并模式有什么区别?
A:
- add:简单相加,就像把两杯水混合
- ties:智能平衡,会自动调节权重
- dare:更精确的融合,效果通常更好
Q: XY 测试节点怎么用?
A: 这些节点需要配合 Efficiency Nodes 插件使用,能自动生成对比图,帮你找到最佳参数。
Q: 保存的 LoRA 文件在哪里?
A: 默认保存在 ComfyUI 的 models/loras 文件夹里,可以像普通 LoRA 一样使用。
6. 实用工作流程示例
6.1 基础合并流程
- 用两个 PM LoRA Loader 加载你想合并的 LoRA
- 连接到 PM LoRA Merger 节点
- 选择合并模式(新手推荐用 add)
- 连接到 PM LoRA Apply 应用到模型上
- 生成图片测试效果
6.2 批量测试流程
- 使用 XY: PM LoRA Strengths 节点设置测试参数
- 连接到 Efficiency Loader 和 Efficiency KSampler
- 运行后会生成包含多种组合的对比图
- 从对比图中选择最满意的效果
6.3 精确优化流程
- 先用普通 PM LoRA Merger 找到大致效果
- 再用 PM LoRA SVD Merger 进行精细调整
- 用 PM LoRA Resize 缩小模型体积
- 用 PM LoRA Save 保存最终结果
这个插件就像一个 LoRA 的"炼金术师",能让你把多个 LoRA 的优点融合在一起,创造出独一无二的效果!记住,多多实践才能熟练掌握各种技巧。