> ## Documentation Index
> Fetch the complete documentation index at: https://dripart-docs-lora-training-1772768349.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# TrainLoraNode - ComfyUI Built-in Node Documentation

> Complete documentation for the TrainLoraNode node in ComfyUI. Learn its inputs, outputs, parameters and usage.

> 本文档由 AI 生成。如果您发现任何错误或有改进建议，欢迎贡献！ [在 GitHub 上编辑](https://github.com/Comfy-Org/embedded-docs/blob/main/comfyui_embedded_docs/docs/TrainLoraNode/zh.md)

TrainLoraNode 使用提供的潜空间数据和条件数据，在扩散模型上创建并训练 LoRA（低秩适应）模型。该节点允许您使用自定义训练参数、优化器和损失函数来微调模型。节点输出训练好的 LoRA 权重、训练损失指标以及完成的总训练步数。

## 输入参数

| 参数名                       | 数据类型         | 必填 | 取值范围                                          | 描述                                                                  |
| ------------------------- | ------------ | -- | --------------------------------------------- | ------------------------------------------------------------------- |
| `model`                   | MODEL        | 是  | -                                             | 要训练 LoRA 的基础模型。                                                     |
| `latents`                 | LATENT       | 是  | -                                             | 用于训练的潜空间数据，作为模型的数据集/输入。支持列表输入。                                      |
| `positive`                | CONDITIONING | 是  | -                                             | 用于训练的正向条件数据。支持列表输入。                                                 |
| `batch_size`              | INT          | 是  | 1–10000                                       | 每步训练使用的样本数（默认值：1）。                                                  |
| `grad_accumulation_steps` | INT          | 是  | 1–1024                                        | 梯度累积步数。累积多步梯度后再更新权重，效果等同于增大 batch size，但不增加显存占用（默认值：1）。             |
| `steps`                   | INT          | 是  | 1–100000                                      | 训练 LoRA 的总步数（默认值：16）。                                               |
| `learning_rate`           | FLOAT        | 是  | 0.0000001–1.0                                 | 训练时使用的学习率（默认值：0.0005）。                                              |
| `rank`                    | INT          | 是  | 1–128                                         | LoRA 层的秩。值越高可捕获更多细节，但显存占用越大（默认值：8）。                                 |
| `optimizer`               | COMBO        | 是  | "AdamW"<br />"Adam"<br />"SGD"<br />"RMSprop" | 训练时使用的优化器（默认值："AdamW"）。                                             |
| `loss_function`           | COMBO        | 是  | "MSE"<br />"L1"<br />"Huber"<br />"SmoothL1"  | 训练时使用的损失函数（默认值："MSE"）。                                              |
| `seed`                    | INT          | 是  | 0–18446744073709551615                        | 随机种子，用于 LoRA 权重初始化和噪声采样（默认值：0）。                                     |
| `training_dtype`          | COMBO        | 是  | "bf16"<br />"fp32"<br />"none"                | 训练使用的数据类型。`none` 表示保留模型原生精度；对 fp16 模型会自动启用 GradScaler（默认值："bf16"）。  |
| `lora_dtype`              | COMBO        | 是  | "bf16"<br />"fp32"                            | LoRA 权重存储使用的数据类型（默认值："bf16"）。                                       |
| `quantized_backward`      | BOOLEAN      | 是  | -                                             | 当 `training_dtype` 为 `none` 且使用量化模型时，启用量化矩阵乘法进行反向传播（默认值：False）。     |
| `algorithm`               | COMBO        | 是  | "LoRA"<br />"LoHa"<br />"LoKr"<br />"OFT"     | 训练时使用的权重适配器算法（默认值："LoRA"）。                                          |
| `gradient_checkpointing`  | BOOLEAN      | 是  | -                                             | 启用梯度检查点，通过重计算激活值来减少显存使用（默认值：True）。                                  |
| `checkpoint_depth`        | INT          | 是  | 1–5                                           | 梯度检查点的模块嵌套深度，深度越大节省的显存越多（默认值：1）。                                    |
| `offloading`              | BOOLEAN      | 是  | -                                             | 训练期间将模型权重卸载到 CPU 以节省显存，需同时启用 `gradient_checkpointing`（默认值：False）。   |
| `existing_lora`           | COMBO        | 是  | 多种可选选项                                        | 选择现有 LoRA 文件以继续训练，总步数会自动累积。设置为 `[None]` 表示创建新的 LoRA（默认值："\[None]"）。 |
| `bucket_mode`             | BOOLEAN      | 是  | -                                             | 启用分辨率分桶模式，需要来自 ResolutionBucket 节点的输入（默认值：False）。                   |
| `bypass_mode`             | BOOLEAN      | 是  | -                                             | 通过前向钩子而非直接修改权重来应用适配器，适用于量化模型（默认值：False）。                            |

**注意：** 正向条件数据的数量必须与潜空间图像的数量匹配。如果只提供了一个正向条件但有多张图像，该条件将自动为所有图像重复使用。

## 输出结果

| 输出名称       | 数据类型        | 描述                                             |
| ---------- | ----------- | ---------------------------------------------- |
| `lora`     | LORA\_MODEL | 训练好的 LoRA 权重，可保存或通过 LoraModelLoader 节点应用于其他模型。 |
| `loss_map` | LOSS\_MAP   | 训练过程中的损失历史，可连接到 LossGraphNode 进行可视化。           |
| `steps`    | INT         | 完成的总训练步数（包括从现有 LoRA 继承的先前步数）。                  |
