KJNodes/loragenerated
LoraExtractKJ
该节点支持多种 LoRA 提取模式,包括标准固定秩(standard)、全秩(full)以及多种自适应秩方法(adaptive_*),以适应不同的精度和文件大小需求。
Lora Extract KJ
finetuned
original
filename_prefix
loras/ComfyUI_extracted_lora
rank
64
lora_type
COMBO
algorithm
svd_lowrank
lowrank_iters
7
output_dtype
fp16
bias_diff
adaptive_param
0.15
clamp_quantile
KJNodes
LoraExtractKJ 节点是一个用于从微调后的模型和原始基础模型的差异中提取 LoRA(Low-Rank Adaptation)权重文件的工具。它的核心功能是分析两个模型之间的参数变化,并将这些变化压缩并保存为独立的、可复用的 LoRA 文件。该节点不输出任何数据,而是直接将生成的 LoRA 文件保存到指定目录。
节点功能
该节点支持多种 LoRA 提取模式,包括标准固定秩(standard)、全秩(full)以及多种自适应秩方法(adaptive_*),以适应不同的精度和文件大小需求。在技术实现上,它通过奇异值分解(SVD)算法来计算权重矩阵的低秩近似,用户可以选择 svd_linalg(精确但慢)或 svd_lowrank(快速但近似)两种算法。提取出的权重可以保存为 fp16、bf16 或 fp32 精度。
节点参数说明 - LoraExtractKJ
连接输入 (Inputs)
| 参数名称 | 数据类型 | 必填 | 默认值 | 取值范围/选项 | 说明 |
|---|---|---|---|---|---|
finetuned | MULTITYPE | 是 | - | - | 用于提取 LoRA 的微调模型或 CLIP。 |
original | MULTITYPE | 是 | - | - | 用于对比差异的原始基础模型或 CLIP。 |
控件参数 (Parameters)
| 参数名称 | 数据类型 | 必填 | 默认值 | 取值范围/选项 | 说明 |
|---|---|---|---|---|---|
lora_type | COMBO | 是 | standard | "standard", "full", "adaptive_ratio", "adaptive_quantile", "adaptive_energy", "adaptive_fro" | 全秩(full)以及四种自适应秩方法(adaptive_ratio, adaptive_quantile, adaptive_energy, adaptive_fro)。 |
algorithm | COMBO | 是 | svd_lowrank | "svd_linalg", "svd_lowrank" | 选择用于奇异值分解(SVD)的算法。svd_linalg 更精确但较慢,svd_lowrank 更快但为近似计算。 |
output_dtype | COMBO | 是 | fp16 | "fp16", "bf16", "fp32" | 提取的 LoRA 权重保存精度:fp16、bf16 或 fp32。 |
filename_prefix | STRING | 是 | loras/ComfyUI_extracted_lora | - | 设置输出 LoRA 文件的保存路径和名称前缀,默认保存在 loras/ 目录下。 |
rank | INT | 是 | 64 | 1 - 4096 (步长: 1) | 标准 LoRA 使用的秩,或自适应方法的最大秩限制。 |
lowrank_iters | INT | 是 | 7 | 1 - 100 (步长: 1) | 低秩 SVD 算法的子空间迭代次数。 |
bias_diff | BOOLEAN | 是 | True | - | 是否在提取 LoRA 时包含模型偏置(bias)参数的差异。 |
adaptive_param | FLOAT | 是 | 0.15 | 0.0 - 1.0 (步长: 0.01) | 用于 ratio 模式时,为最大奇异值的比例;用于 quantile 模式时,为奇异值分位数;用于 fro 模式时,为 Frobenius 范数保留比例。 |
clamp_quantile | BOOLEAN | 是 | false | - | 控制是否在自适应分位数模式下对奇异值进行裁剪,以提升数值稳定性。 |
使用场景
一个典型的使用场景是,当用户使用 Dreambooth 等方法对 Stable Diffusion 模型进行个性化微调后,可以使用此节点。将微调后的完整模型和原始的、未修改的基础模型分别连接到节点的两个输入端口,通过配置提取参数,即可生成一个轻量级的 LoRA 文件,用于在其他工作流中快速应用相同的风格或概念。
LoraExtractKJ 节点源码链接
LoraExtractKJ 节点来自 ComfyUI-KJNodes 节点包。
评论
使用 GitHub 登录后即可参与讨论。