跳转到主要内容
本文档由 AI 生成。如果您发现任何错误或有改进建议,欢迎贡献! 在 GitHub 上编辑
TrainLoraNode 使用提供的潜空间数据和条件数据,在扩散模型上创建并训练一个 LoRA(低秩适配)模型。它允许您使用自定义训练参数、优化器和损失函数对模型进行微调。该节点输出训练好的 LoRA 权重、损失历史记录图以及完成的总训练步数。

输入

参数数据类型是否必填范围描述
模型MODEL-要训练 LoRA 的模型。
潜变量LATENT-用于训练的潜空间数据,作为模型的数据集/输入。
正向条件CONDITIONING-用于训练的正面条件数据。
批次大小INT1-10000训练使用的批次大小(默认值:1)。
梯度累积步数INT1-1024训练使用的梯度累积步数(默认值:1)。
步数INT1-100000训练 LoRA 的步数(默认值:16)。
学习率FLOAT0.0000001-1.0训练使用的学习率(默认值:0.0005)。
INT1-128LoRA 层的秩(默认值:8)。
优化器COMBO”AdamW"
"Adam"
"SGD"
"RMSprop”
训练使用的优化器(默认值:“AdamW”)。
损失函数COMBO”MSE"
"L1"
"Huber"
"SmoothL1”
训练使用的损失函数(默认值:“MSE”)。
种子INT0-18446744073709551615训练使用的随机种子(用于 LoRA 权重初始化和噪声采样的生成器)(默认值:0)。
训练数据类型COMBO”bf16"
"fp32"
"none”
训练使用的数据类型。‘none’ 保留模型原生的计算数据类型,而非覆盖它。对于 fp16 模型,会自动启用 GradScaler(默认值:“bf16”)。
LoRA 数据类型COMBO”bf16"
"fp32”
LoRA 使用的数据类型(默认值:“bf16”)。
quantized_backwardBOOLEAN-当使用 训练数据类型 为 ‘none’ 且在量化模型上训练时,启用后可在反向传播中使用量化矩阵乘法(默认值:False)。
算法COMBO提供多个选项训练使用的算法。
梯度检查点BOOLEAN-训练时使用梯度检查点(默认值:True)。
checkpoint_depthINT1-5梯度检查点的深度级别(默认值:1)。
offloadingBOOLEAN-训练期间将模型权重卸载到 CPU 以节省 GPU 内存(默认值:False)。
现有LoRACOMBO提供多个选项要附加到的现有 LoRA。设置为 None 以创建新的 LoRA(默认值:“[None]”)。
bucket模式BOOLEAN-启用分辨率桶模式。启用后,期望从 ResolutionBucket 节点接收预分桶的潜空间数据(默认值:False)。
bypass_modeBOOLEAN-启用训练旁路模式。启用后,适配器通过前向钩子应用,而非修改权重。对于无法直接修改权重的量化模型特别有用(默认值:False)。
注意: 正面条件输入的数量必须与潜空间图像的数量匹配。如果仅提供一个正面条件但有多个图像,它将自动对所有图像重复使用。 关于 training_dtype 的说明: 当设置为 “none” 时,会保留模型原生的计算数据类型。对于 fp16 模型,会自动启用 GradScaler 以防止梯度计算过程中的下溢。如果同时启用了 fp16_accumulation(通过 --fast 标志),这种组合可能在数值上不稳定,并可能导致 NaN 值。 关于 quantized_backward 的说明: 此参数仅在 training_dtype 设置为 “none” 且模型为量化模型时相关。它会在反向传播过程中启用量化矩阵乘法。 关于 bypass_mode 的说明: 启用后,适配器通过前向钩子应用,而非直接修改模型权重。这对于无法直接修改权重的量化模型特别有用。

输出

输出名称数据类型描述
LoRALORA_MODEL训练好的 LoRA 权重,可以保存或应用于其他模型。
损失LOSS_MAP一个包含随时间变化的训练损失值的字典。
步数INT完成的总训练步数(包括来自现有 LoRA 的任何先前步数)。

Source fingerprint (SHA-256): df315ef416ff3ce81e6a526af2c4e5115980e6c35830825967e7189d4f8541d8