ComfyUI 魔法书 Logo
🏠 首页
👥 加群
🔥 报错不求人
😎 大帅比
登录 →
ComfyUI 魔法书 Logo
🏠 首页 👥 加群 🔥 报错不求人 😎 大帅比
登录
  1. 首页
  2. 🧩 插件工坊 (Plugin Workshop)
  3. ComfyUI FluxTrainer插件使用教程 从入门到精通

ComfyUI FluxTrainer插件使用教程 从入门到精通

0
  • 🧩 插件工坊 (Plugin Workshop)
  • 发布于 2025-06-28
  • 30 次阅读
编程界的小学生
编程界的小学生

【版权严正声明】

本文系作者 [编程界的小学生] 原创,并拥有完整、独立的著作权。

未经本人 书面授权 ,任何单位、平台或个人, 严禁 以任何形式(包括但不限于转载、复制、摘编、修改、链接、转贴、建立镜像等)使用本文的全部或部分内容。

任何无视本声明的侵权行为,本人将依据《中华人民共和国著作权法》等相关法律法规,采取一切必要的法律手段,追究其侵权责任,要求其 立即停止侵权、赔礼道歉、消除影响,并赔偿因此造成的一切经济损失及维权成本(包括但不限于律师费、诉讼费、公证费等)。

侵权必究,切勿以身试法!

1. 插件简介

插件地址: https://github.com/kijai/ComfyUI-FluxTrainer

这个插件就像是给 ComfyUI 装了一个"AI 训练师",专门用来训练和微调各种 AI 模型。想象一下,你有一堆照片想让 AI 学会画出特定的风格或者特定的人物,这个插件就能帮你"教会" AI 这些技能。

主要功能:

  • 🎯 Flux 模型训练:训练最新的 Flux 图像生成模型,让它学会你想要的风格

  • 🔧 LoRA 训练:创建小巧的"技能包",不用重新训练整个大模型

  • 📚 多模型支持:支持 Flux、SD3、SDXL 等多种模型的训练

  • ⚡ 内存优化:各种省内存的技巧,让普通显卡也能训练

  • 📊 可视化监控:实时查看训练进度和损失曲线

能带来什么效果:

  • 让 AI 学会画特定人物、物体或风格

  • 创建个人专属的 AI 绘画模型

  • 批量生成符合特定要求的图片

  • 节省训练时间和计算资源

2. 如何安装

方法一:通过 ComfyUI Manager 安装(推荐)

  1. 打开 ComfyUI Manager

  2. 搜索 "FluxTrainer"

  3. 找到这个插件点击安装

  4. 重启 ComfyUI

方法二:手动安装

  1. 进入你的 ComfyUI 安装目录下的 custom_nodes 文件夹

  2. 打开命令行工具,执行:

    git clone https://github.com/kijai/ComfyUI-FluxTrainer.git
  3. 进入插件文件夹:

    cd ComfyUI-FluxTrainer
  4. 安装依赖:

    pip install -r requirements.txt
  5. 重启 ComfyUI

注意: 建议使用 PyTorch 2.4.0 或更高版本,训练需要大量显存和存储空间。

3. 节点详解

当前插件包含节点总数:39个 本次输出节点数:10个 剩余未输出节点数:29个

3.1 FluxTrainModelSelect 节点 - Flux模型选择器

这个节点是干嘛的? 这就像是一个"模型管理员",负责选择和准备训练用的各种模型文件。就像做菜前要准备好所有食材一样,训练前要先选好所有需要的模型。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

transformer

transformer

下拉选择

-

选择主要的图像生成"大脑",就像选择画家的主要技能

选择Flux transformer模型文件

从unet文件夹选择flux模型文件

vae

vae

下拉选择

-

选择图像编码解码器,就像选择画笔和颜料

选择VAE模型用于图像编码解码

选择ae.safetensors文件

clip_l

clip_l

下拉选择

-

选择文字理解助手,帮AI理解你说的话

选择CLIP-L文本编码器

选择clip_l.safetensors文件

t5

t5

下拉选择

-

选择高级文字理解助手,理解更复杂的描述

选择T5文本编码器

选择t5xxl_fp16.safetensors文件

lora_path

lora_path

文本输入

空

如果有现成的"技能包"想继续训练,在这里填路径

预训练LoRA权重路径

填入已有LoRA文件的完整路径

3.2 TrainDatasetGeneralConfig 节点 - 训练数据通用配置

这个节点是干嘛的? 这就像是"训练规则制定者",设定训练时如何处理你的图片和文字描述。比如是否要随机翻转图片、是否要打乱文字描述等。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

color_aug

color_aug

开关

False

是否随机调整图片颜色,就像给照片加滤镜

启用弱色彩增强

想让AI适应不同光线条件时开启

flip_aug

flip_aug

开关

False

是否随机左右翻转图片,增加训练样本多样性

启用水平翻转增强

训练人物或对称物体时可以开启

shuffle_caption

shuffle_caption

开关

False

是否打乱文字描述的顺序,让AI不依赖固定顺序

随机打乱标签顺序

想让AI更灵活理解描述时开启

caption_dropout_rate

caption_dropout_rate

数值滑块

0.0

随机丢掉一些文字描述,让AI学会从部分信息推断

标签丢弃率

设置0.1表示10%概率丢掉部分描述

alpha_mask

alpha_mask

开关

False

是否使用图片的透明通道作为训练遮罩

使用alpha通道作为训练遮罩

有透明背景的PNG图片时开启

reset_on_queue

reset_on_queue

开关

False

每次运行时是否重新刷新配置

队列时强制刷新

调试时可以开启

caption_extension

caption_extension

文本输入

.txt

文字描述文件的后缀名

标签文件扩展名

如果用.caption文件就改成.caption

3.3 TrainDatasetRegularization 节点 - 正则化数据集配置

这个节点是干嘛的? 这就像是"平衡训练师",提供一些"标准样本"来防止AI学偏了。比如你在教AI画猫,正则化数据就是一些普通的猫图片,防止AI只学会画你特定风格的猫。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

dataset_path

dataset_path

文本输入

-

正则化图片文件夹的路径

正则化数据集路径

填入包含标准样本的文件夹路径

class_tokens

class_tokens

文本输入

-

触发词,告诉AI这是什么类型的图片

类别标记词

比如填"cat"表示这些都是猫的图片

num_repeats

num_repeats

数值输入

1

每个正则化样本重复使用多少次

数据重复次数

设置2表示每张图片当作2张来用

3.4 TrainDatasetAdd 节点 - 添加训练数据集

这个节点是干嘛的? 这就像是"数据集管理员",把你的训练图片和配置整合在一起。它会设定图片尺寸、批次大小等重要参数。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

dataset_config

dataset_config

连接输入

-

从通用配置节点接收的设置

数据集通用配置

从TrainDatasetGeneralConfig连线

width

width

数值输入

1024

训练图片的宽度,就像设定画布大小

基础分辨率宽度

1024适合大多数情况

height

height

数值输入

1024

训练图片的高度

基础分辨率高度

1024适合大多数情况

batch_size

batch_size

数值输入

2

一次处理多少张图片,越大越快但越耗内存

批次大小

显存8GB建议用1-2,16GB可用4

dataset_path

dataset_path

文本输入

-

训练图片文件夹的路径

数据集路径

填入包含训练图片的文件夹路径

class_tokens

class_tokens

文本输入

-

触发词,训练完成后用这个词来生成图片

类别标记词

比如"mydog",生成时就用"mydog"

enable_bucket

enable_bucket

开关

True

是否允许不同尺寸的图片一起训练

启用分桶训练

开启可以用不同尺寸的图片

bucket_no_upscale

bucket_no_upscale

开关

False

是否禁止放大小图片

禁止上采样

想保持原图质量时开启

num_repeats

num_repeats

数值输入

1

每张训练图片重复使用多少次

数据重复次数

图片少时可以设置更大值

min_bucket_reso

min_bucket_reso

数值输入

256

允许的最小图片尺寸

最小分桶分辨率

一般不用改

max_bucket_reso

max_bucket_reso

数值输入

1024

允许的最大图片尺寸

最大分桶分辨率

显存够可以设置更大

regularization

regularization

连接输入

可选

连接正则化数据集配置

正则化数据配置

从TrainDatasetRegularization连线

3.5 OptimizerConfig 节点 - 优化器配置

这个节点是干嘛的? 这就像是"学习方法指导师",决定AI如何学习和调整。不同的优化器就像不同的学习方法,有的快但粗糙,有的慢但精细。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

optimizer_type

optimizer_type

下拉选择

adamw8bit

选择学习算法,就像选择学习方法

优化器类型

adamw8bit省内存,prodigy自动调节

max_grad_norm

max_grad_norm

数值输入

1.0

限制学习步长,防止学习过猛

梯度裁剪

1.0是安全值,可以防止训练崩溃

lr_scheduler

lr_scheduler

下拉选择

constant

学习速度的变化方式

学习率调度器

constant保持不变,cosine逐渐降低

lr_warmup_steps

lr_warmup_steps

数值输入

0

开始时慢慢提升学习速度的步数

学习率预热步数

设置100表示前100步慢慢加速

lr_scheduler_num_cycles

lr_scheduler_num_cycles

数值输入

1

学习速度循环变化的次数

调度器循环次数

一般用1就够了

lr_scheduler_power

lr_scheduler_power

数值输入

1.0

学习速度变化的强度

调度器幂次

1.0是线性变化

min_snr_gamma

min_snr_gamma

数值输入

5.0

降低困难样本权重的参数

最小信噪比gamma

5.0是论文推荐值

extra_optimizer_args

extra_optimizer_args

文本输入

空

额外的优化器参数,用竖线分隔

额外优化器参数

高级用户可以添加特殊参数

现在我已经完成了前5个节点的详细分析。由于节点数量很多(39个),我需要继续分批完成剩余的节点分析。

3.6 OptimizerConfigAdafactor 节点 - Adafactor优化器配置

这个节点是干嘛的? 这是专门为 Adafactor 优化器设计的配置节点。Adafactor 就像是一个"自适应学习专家",能够根据情况自动调整学习方式,特别适合大模型训练。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

max_grad_norm

max_grad_norm

数值输入

0.0

限制学习步长,0表示不限制

梯度裁剪

Adafactor通常设为0让它自己控制

lr_scheduler

lr_scheduler

下拉选择

constant_with_warmup

学习速度变化方式

学习率调度器

adafactor是专用调度器

lr_warmup_steps

lr_warmup_steps

数值输入

0

预热步数

学习率预热步数

Adafactor建议设置一些预热步数

lr_scheduler_num_cycles

lr_scheduler_num_cycles

数值输入

1

循环次数

调度器循环次数

一般用1

lr_scheduler_power

lr_scheduler_power

数值输入

1.0

变化强度

调度器幂次

1.0是标准值

relative_step

relative_step

开关

False

是否使用相对步长

相对步长

True让Adafactor自动调节学习率

scale_parameter

scale_parameter

开关

False

是否缩放参数

参数缩放

True可以提高稳定性

warmup_init

warmup_init

开关

False

是否预热初始化

预热初始化

True配合relative_step使用

clip_threshold

clip_threshold

数值输入

1.0

裁剪阈值

裁剪阈值

控制梯度裁剪的强度

min_snr_gamma

min_snr_gamma

数值输入

5.0

信噪比参数

最小信噪比gamma

5.0是推荐值

extra_optimizer_args

extra_optimizer_args

文本输入

空

额外参数

额外优化器参数

高级参数设置

3.7 FluxTrainerLossConfig 节点 - Flux训练损失配置

这个节点是干嘛的? 这就像是"评分标准制定者",决定如何评判AI学习的好坏。不同的损失函数就像不同的评分方式,有的严格有的宽松。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

loss_type

loss_type

下拉选择

huber

选择评分方式,huber比较温和

损失函数类型

huber对异常值不敏感,l2更严格

huber_schedule

huber_schedule

下拉选择

exponential

Huber损失的调度方式

Huber调度方法

exponential是指数衰减

huber_c

huber_c

数值输入

0.25

Huber损失的衰减参数

Huber衰减参数

越小越温和

huber_scale

huber_scale

数值输入

1.75

Huber损失的缩放参数

Huber缩放参数

控制损失的整体大小

3.8 OptimizerConfigProdigy 节点 - Prodigy优化器配置

这个节点是干嘛的? 这是专门为 Prodigy 优化器设计的配置。Prodigy 就像是一个"天才学习助手",能够自动找到最佳的学习速度,不需要你手动调节。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

max_grad_norm

max_grad_norm

数值输入

0.0

梯度裁剪,0表示不限制

梯度裁剪

Prodigy通常不需要裁剪

lr_scheduler

lr_scheduler

下拉选择

constant

学习率调度器

学习率调度器

Prodigy自己调节,用constant即可

lr_warmup_steps

lr_warmup_steps

数值输入

0

预热步数

学习率预热步数

一般不需要预热

lr_scheduler_num_cycles

lr_scheduler_num_cycles

数值输入

1

循环次数

调度器循环次数

保持默认

lr_scheduler_power

lr_scheduler_power

数值输入

1.0

调度器幂次

调度器幂次

保持默认

weight_decay

weight_decay

数值输入

0.0

权重衰减,防止过拟合

权重衰减

0.01-0.1可以防止过拟合

decouple

decouple

开关

True

是否使用AdamW风格的权重衰减

解耦权重衰减

True是推荐设置

use_bias_correction

use_bias_correction

开关

False

是否使用偏差修正

偏差修正

False是默认设置

min_snr_gamma

min_snr_gamma

数值输入

5.0

信噪比参数

最小信噪比gamma

5.0是推荐值

extra_optimizer_args

extra_optimizer_args

文本输入

空

额外参数

额外优化器参数

高级设置

3.9 TrainNetworkConfig 节点 - 训练网络配置

这个节点是干嘛的? 这就像是"技能包制作工坊",决定要制作什么类型的LoRA技能包。不同类型的LoRA就像不同的技能包,有的小巧精简,有的功能全面。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

network_type

network_type

下拉选择

lora

选择技能包类型

网络类型

lora最常用,LyCORIS更高级

lycoris_preset

lycoris_preset

下拉选择

attn-mlp

LyCORIS的预设配置

LyCORIS预设

attn-mlp平衡效果和大小

factor

factor

数值输入

-1

LoKr的因子参数,-1表示自动

LoKr因子

一般保持-1自动设置

extra_network_args

extra_network_args

文本输入

空

额外的网络参数

额外网络参数

高级用户可以添加特殊设置

3.10 OptimizerConfigProdigyPlusScheduleFree 节点 - ProdigyPlus免调度优化器

这个节点是干嘛的? 这是最新的"超级学习助手",结合了 Prodigy 的自动学习率和免调度技术。就像有了一个既聪明又不需要监督的学习伙伴。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

lr

lr

数值输入

1.0

学习率调整参数

学习率调整参数

1.0是标准值,可以微调

max_grad_norm

max_grad_norm

数值输入

0.0

梯度裁剪

梯度裁剪

0.0表示不裁剪

prodigy_steps

prodigy_steps

数值输入

0

冻结Prodigy调整的步数

Prodigy冻结步数

0表示一直调整

d0

d0

数值输入

1e-6

初始学习率

初始学习率

很小的值作为起点

d_coef

d_coef

数值输入

1.0

学习率估计系数

学习率系数

1.0是标准值

split_groups

split_groups

开关

True

是否分组跟踪参数

分组跟踪

True可以更精确

use_bias_correction

use_bias_correction

开关

False

是否使用RAdam变体

偏差修正

False是默认

min_snr_gamma

min_snr_gamma

数值输入

5.0

信噪比参数

最小信噪比gamma

5.0是推荐值

use_stableadamw

use_stableadamw

开关

True

是否使用稳定AdamW

稳定AdamW

True提高稳定性

use_cautious

use_cautious

开关

False

是否使用谨慎更新

谨慎更新

实验性功能

use_adopt

use_adopt

开关

False

是否使用ADOPT方法

ADOPT方法

实验性功能

use_grams

use_grams

开关

False

是否使用GRAMS更新

GRAMS更新

实验性功能

stochastic_rounding

stochastic_rounding

开关

True

是否使用随机舍入

随机舍入

True对bfloat16有帮助

use_orthograd

use_orthograd

开关

False

是否使用正交梯度

正交梯度

实验性功能

use_focus

use_focus

开关

False

是否使用FOCUS方法

FOCUS方法

实验性功能

extra_optimizer_args

extra_optimizer_args

文本输入

空

额外参数

额外优化器参数

高级设置

当前进度更新: 已输出节点数:10个 剩余未输出节点数:29个

3.11 InitFluxLoRATraining 节点 - 初始化Flux LoRA训练

这个节点是干嘛的? 这是整个训练流程的"总指挥官",把所有配置整合起来,准备开始训练。就像是把所有食材和工具准备好,开始正式做菜。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

flux_models

flux_models

连接输入

-

从模型选择器接收的模型配置

Flux模型配置

从FluxTrainModelSelect连线

dataset

dataset

连接输入

-

从数据集配置接收的训练数据

数据集配置

从TrainDatasetAdd连线

optimizer_settings

optimizer_settings

连接输入

-

从优化器配置接收的学习设置

优化器设置

从OptimizerConfig连线

output_name

output_name

文本输入

flux_lora

训练完成后模型的名字

输出模型名称

起个有意义的名字如"my_style_lora"

output_dir

output_dir

文本输入

flux_trainer_output

保存训练结果的文件夹

输出目录

相对于ComfyUI根目录的路径

network_dim

network_dim

数值输入

4

LoRA的"技能容量",越大越强但文件越大

网络维度

4-16适合大多数情况,32-64用于复杂风格

network_alpha

network_alpha

数值输入

1.0

LoRA的"影响强度"调节器

网络alpha值

通常设为network_dim的1/4到1/2

learning_rate

learning_rate

数值输入

4e-4

AI的学习速度,太快容易学坏,太慢学不会

学习率

4e-4是安全起点,可以调到1e-3或2e-4

max_train_steps

max_train_steps

数值输入

1500

总共要学习多少步

最大训练步数

1000-3000步适合大多数情况

apply_t5_attn_mask

apply_t5_attn_mask

开关

True

是否使用T5注意力遮罩

T5注意力遮罩

True可以提高文本理解

cache_latents

cache_latents

下拉选择

disk

如何缓存图片编码,disk省内存但慢

潜在向量缓存

disk省内存,memory更快

cache_text_encoder_outputs

cache_text_encoder_outputs

下拉选择

disk

如何缓存文本编码

文本编码器输出缓存

disk省内存,memory更快

blocks_to_swap

blocks_to_swap

数值输入

0

交换到CPU的模块数量,省显存但慢

交换块数量

显存不够时设为18

weighting_scheme

weighting_scheme

下拉选择

logit_normal

训练样本的权重分配方式

权重方案

logit_normal是推荐设置

logit_mean

logit_mean

数值输入

0.0

logit_normal权重的均值

Logit均值

0.0是标准设置

logit_std

logit_std

数值输入

1.0

logit_normal权重的标准差

Logit标准差

1.0是标准设置

mode_scale

mode_scale

数值输入

1.29

mode权重方案的缩放因子

模式缩放

仅在使用mode权重时有效

timestep_sampling

timestep_sampling

下拉选择

sigmoid

时间步采样方法

时间步采样

sigmoid是推荐方法

sigmoid_scale

sigmoid_scale

数值输入

1.0

sigmoid采样的缩放因子

Sigmoid缩放

1.0是标准值

model_prediction_type

model_prediction_type

下拉选择

raw

模型预测的处理方式

模型预测类型

raw是标准设置

guidance_scale

guidance_scale

数值输入

1.0

引导缩放,Flux训练应该是1.0

引导缩放

Flux必须用1.0

discrete_flow_shift

discrete_flow_shift

数值输入

1.0

离散流调度器的偏移值

离散流偏移

3.0是标准值

highvram

highvram

开关

False

是否使用高显存模式

高显存模式

显存充足时可以开启

fp8_base

fp8_base

开关

True

是否对基础模型使用fp8精度

FP8基础模型

True可以节省显存

gradient_dtype

gradient_dtype

下拉选择

fp32

训练时使用的数据精度

梯度数据类型

fp32最稳定,bf16更快

save_dtype

save_dtype

下拉选择

bf16

保存模型时使用的数据精度

保存数据类型

bf16平衡质量和大小

attention_mode

attention_mode

下拉选择

sdpa

注意力机制的实现方式

注意力模式

sdpa是推荐设置

sample_prompts

sample_prompts

文本输入

illustration of a kitten | photograph of a turtle

验证用的提示词,用|分隔多个

采样提示词

填入想测试的描述

additional_args

additional_args

文本输入

空

额外的训练参数

额外参数

高级用户使用

resume_args

resume_args

连接输入

可选

恢复训练的参数

恢复参数

从FluxTrainResume连线

train_text_encoder

train_text_encoder

下拉选择

disabled

是否同时训练文本编码器

训练文本编码器

disabled最安全

clip_l_lr

clip_l_lr

数值输入

0

CLIP-L的学习率

CLIP-L学习率

训练文本编码器时设置

T5_lr

T5_lr

数值输入

0

T5的学习率

T5学习率

训练文本编码器时设置

block_args

block_args

连接输入

可选

限制训练的模块

块参数

从FluxTrainBlockSelect连线

gradient_checkpointing

gradient_checkpointing

下拉选择

enabled

是否使用梯度检查点

梯度检查点

enabled可以节省显存

loss_args

loss_args

连接输入

可选

损失函数配置

损失参数

从FluxTrainerLossConfig连线

network_config

network_config

连接输入

可选

网络结构配置

网络配置

从TrainNetworkConfig连线

3.12 InitFluxTraining 节点 - 初始化Flux完整训练

这个节点是干嘛的? 这是用来训练完整Flux模型的"总指挥官",不是训练LoRA而是训练整个模型。就像是要重新教会AI画画,而不是只教一个新技能。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

flux_models

flux_models

连接输入

-

从模型选择器接收的模型配置

Flux模型配置

从FluxTrainModelSelect连线

dataset

dataset

连接输入

-

训练数据集配置

数据集配置

从TrainDatasetAdd连线

optimizer_settings

optimizer_settings

连接输入

-

优化器设置

优化器设置

从OptimizerConfig连线

output_name

output_name

文本输入

flux

输出模型名称

输出模型名称

给训练的模型起名

output_dir

output_dir

文本输入

flux_trainer_output

输出目录

输出目录

保存位置

learning_rate

learning_rate

数值输入

4e-6

学习率,比LoRA训练要小很多

学习率

完整训练需要更小的学习率

max_train_steps

max_train_steps

数值输入

1500

最大训练步数

最大训练步数

完整训练通常需要更多步数

apply_t5_attn_mask

apply_t5_attn_mask

开关

True

T5注意力遮罩

T5注意力遮罩

True提高文本理解

t5xxl_max_token_length

t5xxl_max_token_length

数值输入

512

T5最大token长度

T5最大token长度

dev版用512,schnell用256

cache_latents

cache_latents

下拉选择

disk

潜在向量缓存方式

潜在向量缓存

disk节省内存

cache_text_encoder_outputs

cache_text_encoder_outputs

下拉选择

disk

文本编码器输出缓存

文本编码器输出缓存

disk节省内存

weighting_scheme

weighting_scheme

下拉选择

logit_normal

权重分配方案

权重方案

logit_normal是推荐

logit_mean

logit_mean

数值输入

0.0

Logit均值

Logit均值

标准设置

logit_std

logit_std

数值输入

1.0

Logit标准差

Logit标准差

标准设置

mode_scale

mode_scale

数值输入

1.29

模式缩放

模式缩放

mode权重时使用

loss_type

loss_type

下拉选择

l2

损失函数类型

损失函数类型

l2是标准选择

timestep_sampling

timestep_sampling

下拉选择

sigmoid

时间步采样方法

时间步采样

sigmoid推荐

sigmoid_scale

sigmoid_scale

数值输入

1.0

Sigmoid缩放

Sigmoid缩放

标准值

model_prediction_type

model_prediction_type

下拉选择

raw

模型预测类型

模型预测类型

raw是标准

cpu_offload_checkpointing

cpu_offload_checkpointing

开关

True

CPU卸载检查点

CPU卸载检查点

True节省2GB显存

optimizer_fusing

optimizer_fusing

下拉选择

fused_backward_pass

优化器融合方式

优化器融合

减少内存使用

blocks_to_swap

blocks_to_swap

数值输入

0

交换块数量

交换块数量

每块约640MB,可以节省显存

guidance_scale

guidance_scale

数值输入

1.0

引导缩放

引导缩放

Flux必须用1.0

discrete_flow_shift

discrete_flow_shift

数值输入

1.0

离散流偏移

离散流偏移

3.0是标准值

highvram

highvram

开关

False

高显存模式

高显存模式

显存充足时开启

fp8_base

fp8_base

开关

False

FP8基础模型

FP8基础模型

完整训练通常用False

gradient_dtype

gradient_dtype

下拉选择

bf16

梯度数据类型

梯度数据类型

bf16平衡速度和精度

save_dtype

save_dtype

下拉选择

bf16

保存数据类型

保存数据类型

bf16节省空间

attention_mode

attention_mode

下拉选择

sdpa

注意力模式

注意力模式

sdpa推荐

sample_prompts

sample_prompts

文本输入

illustration of a kitten | photograph of a turtle

采样提示词

采样提示词

测试用的描述

additional_args

additional_args

文本输入

空

额外参数

额外参数

高级设置

resume_args

resume_args

连接输入

可选

恢复参数

恢复参数

从FluxTrainResume连线

3.13 InitFluxTrainingFromPreset 节点 - 从预设初始化Flux训练

这个节点是干嘛的? 这是一个"快速启动器",可以从预设的配置文件快速开始训练,不需要手动设置每个参数。就像使用菜谱快速做菜。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

flux_models

flux_models

连接输入

-

模型配置

Flux模型配置

从FluxTrainModelSelect连线

dataset_settings

dataset_settings

连接输入

-

数据集设置

TOML数据集配置

从预设配置连线

preset_args

preset_args

连接输入

-

预设参数

Kohya参数配置

从预设文件加载

output_name

output_name

文本输入

flux

输出名称

输出模型名称

给模型起名

output_dir

output_dir

文本输入

flux_trainer_output

输出目录

输出目录

保存位置

sample_prompts

sample_prompts

文本输入

illustration of a kitten | photograph of a turtle

采样提示词

采样提示词

测试描述

3.14 FluxTrainLoop 节点 - Flux训练循环

这个节点是干嘛的? 这就像是"训练执行器",负责实际执行训练过程。你告诉它要训练多少步,它就会老老实实地训练这么多步。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

network_trainer

network_trainer

连接输入

-

从初始化节点接收的训练器

网络训练器

从InitFluxLoRATraining连线

steps

steps

数值输入

1

这次要训练多少步

训练步数

可以分批训练,比如每次100步

3.15 FluxTrainAndValidateLoop 节点 - Flux训练和验证循环

这个节点是干嘛的? 这是一个"智能训练管家",不仅会训练,还会定期检查训练效果和保存模型。就像有个助手定期检查你的学习进度。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

network_trainer

network_trainer

连接输入

-

训练器

网络训练器

从初始化节点连线

validate_at_steps

validate_at_steps

数值输入

250

每多少步检查一次效果

验证步数间隔

250步检查一次比较合适

save_at_steps

save_at_steps

数值输入

250

每多少步保存一次模型

保存步数间隔

250步保存一次防止丢失

validation_settings

validation_settings

连接输入

可选

验证设置

验证设置

从FluxTrainValidationSettings连线

当前进度更新: 已输出节点数:15个 剩余未输出节点数:24个

3.16 FluxTrainSave 节点 - Flux训练保存

这个节点是干嘛的? 这就像是"成果保存员",负责把训练好的LoRA模型保存下来。你可以选择是否保存完整的训练状态,以及是否复制到ComfyUI的LoRA文件夹。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

network_trainer

network_trainer

连接输入

-

训练器

网络训练器

从训练循环节点连线

save_state

save_state

开关

False

是否保存完整训练状态,用于恢复训练

保存训练状态

True可以后续继续训练

copy_to_comfy_lora_folder

copy_to_comfy_lora_folder

开关

False

是否复制到ComfyUI的LoRA文件夹

复制到LoRA文件夹

True方便直接使用

3.17 FluxTrainSaveModel 节点 - Flux训练保存完整模型

这个节点是干嘛的? 这是专门保存完整Flux模型的"档案管理员",不是保存LoRA而是保存整个训练好的模型。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

network_trainer

network_trainer

连接输入

-

训练器

网络训练器

从训练循环连线

copy_to_comfy_model_folder

copy_to_comfy_model_folder

开关

False

是否复制到ComfyUI模型文件夹

复制到模型文件夹

True方便直接使用

end_training

end_training

开关

False

是否结束训练

结束训练

True会正式结束训练过程

3.18 FluxTrainEnd 节点 - Flux训练结束

这个节点是干嘛的? 这是训练的"毕业典礼",正式结束训练并保存最终的模型。它会生成训练的元数据信息。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

network_trainer

network_trainer

连接输入

-

训练器

网络训练器

从训练循环连线

save_state

save_state

开关

True

是否保存训练状态

保存训练状态

True保存完整信息

3.19 FluxTrainResume 节点 - Flux训练恢复

这个节点是干嘛的? 这就像是"断点续传器",可以从之前保存的训练状态继续训练,不用从头开始。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

load_state_path

load_state_path

文本输入

空

要恢复的训练状态文件路径

训练状态路径

填入之前保存的状态文件路径

skip_until_initial_step

skip_until_initial_step

开关

False

是否跳过到初始步数

跳过到初始步数

True会跳过已训练的步数

3.20 FluxTrainBlockSelect 节点 - Flux训练块选择

这个节点是干嘛的? 这就像是"精准训练师",可以选择只训练模型的特定部分,而不是训练整个模型。就像只练习画画的某个技巧。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

include

include

文本输入

lora_unet_single_blocks_20_linear2

要包含训练的模块名称

包含的模块

可以用逗号分隔多个模块,支持范围如(10-20)

3.21 FluxTrainValidationSettings 节点 - Flux训练验证设置

这个节点是干嘛的? 这就像是"考试设置员",决定如何测试训练效果。设定生成测试图片的各种参数。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

steps

steps

数值输入

20

生成测试图片的采样步数

采样步数

20步够用,50步质量更好

width

width

数值输入

512

测试图片宽度

图片宽度

512快速测试,1024看细节

height

height

数值输入

512

测试图片高度

图片高度

512快速测试,1024看细节

guidance_scale

guidance_scale

数值输入

3.5

引导强度,控制AI对描述的遵循程度

引导缩放

3.5是平衡值,7.5更严格

seed

seed

数值输入

42

随机种子,固定可以生成相同图片

随机种子

固定种子便于对比效果

shift

shift

开关

True

是否使用时间步偏移

时间步偏移

True提高高质量图片比例

base_shift

base_shift

数值输入

0.5

基础偏移值

基础偏移

0.5是标准值

max_shift

max_shift

数值输入

1.15

最大偏移值

最大偏移

1.15是标准值

3.22 FluxTrainValidate 节点 - Flux训练验证

这个节点是干嘛的? 这就像是"考试执行员",实际执行验证过程,生成测试图片来检查训练效果。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

network_trainer

network_trainer

连接输入

-

训练器

网络训练器

从训练循环连线

validation_settings

validation_settings

连接输入

可选

验证设置

验证设置

从FluxTrainValidationSettings连线

3.23 VisualizeLoss 节点 - 可视化损失

这个节点是干嘛的? 这就像是"成绩单制作器",把训练过程中的损失变化画成图表,让你直观看到训练效果。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

network_trainer

network_trainer

连接输入

-

训练器

网络训练器

从训练循环连线

plot_style

plot_style

下拉选择

default

图表样式

matplotlib样式

default简洁,seaborn更美观

window_size

window_size

数值输入

100

移动平均窗口大小,平滑曲线

移动平均窗口

100让曲线更平滑

normalize_y

normalize_y

开关

True

是否将Y轴标准化到0

Y轴标准化

True让图表更清晰

width

width

数值输入

768

图表宽度像素

图表宽度

768适合查看

height

height

数值输入

512

图表高度像素

图表高度

512适合查看

log_scale

log_scale

开关

False

是否使用对数刻度

对数刻度

True适合损失变化很大的情况

3.24 FluxKohyaInferenceSampler 节点 - Flux Kohya推理采样器

这个节点是干嘛的? 这就像是"作品展示器",可以用训练好的LoRA模型生成图片,测试训练效果。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

flux_models

flux_models

连接输入

-

模型配置

Flux模型配置

从FluxTrainModelSelect连线

lora_name

lora_name

下拉选择

-

要使用的LoRA模型

LoRA模型名称

从loras文件夹选择

lora_method

lora_method

下拉选择

apply

LoRA应用方式

LoRA应用方法

apply是标准方式,merge是合并

steps

steps

数值输入

20

采样步数

采样步数

20步快速,50步高质量

width

width

数值输入

512

图片宽度

图片宽度

512测试,1024正式生成

height

height

数值输入

512

图片高度

图片高度

512测试,1024正式生成

guidance_scale

guidance_scale

数值输入

3.5

引导强度

引导缩放

3.5平衡,7.5更严格

seed

seed

数值输入

42

随机种子

随机种子

固定种子便于对比

use_fp8

use_fp8

开关

True

是否使用FP8精度

FP8精度

True节省显存

apply_t5_attn_mask

apply_t5_attn_mask

开关

True

是否使用T5注意力遮罩

T5注意力遮罩

True提高文本理解

prompt

prompt

文本输入

illustration of a kitten

生成图片的描述

提示词

填入想要生成的内容描述

3.25 UploadToHuggingFace 节点 - 上传到HuggingFace

这个节点是干嘛的? 这就像是"作品发布器",可以把训练好的模型上传到HuggingFace平台分享给其他人。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

network_trainer

network_trainer

连接输入

-

训练器

网络训练器

从训练节点连线

source_path

source_path

文本输入

空

要上传的文件路径

源文件路径

填入模型文件的完整路径

repo_id

repo_id

文本输入

空

HuggingFace仓库ID

仓库ID

格式:用户名/模型名

revision

revision

文本输入

空

版本分支

版本分支

通常留空使用main分支

private

private

开关

True

是否创建私有仓库

私有仓库

True创建私有,False公开

token

token

文本输入

空

HuggingFace访问令牌

访问令牌

从HuggingFace获取的token

当前进度更新: 已输出节点数:25个 剩余未输出节点数:14个

3.26 ExtractFluxLoRA 节点 - 提取Flux LoRA

这个节点是干嘛的? 这就像是"技能提取器",可以从一个完整训练的模型中提取出LoRA技能包。比如你有两个模型,一个是原版一个是训练后的,这个节点可以提取出它们的差异做成LoRA。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

original_model

original_model

下拉选择

-

原始模型文件

原始模型

选择未训练的原版模型

finetuned_model

finetuned_model

下拉选择

-

微调后的模型文件

微调模型

选择训练后的模型

output_path

output_path

文本输入

models/loras/Flux

输出LoRA的保存路径

输出路径

设置保存LoRA的位置

dim

dim

数值输入

4

LoRA的维度大小

LoRA维度

4-16适合大多数情况

save_dtype

save_dtype

下拉选择

bf16

保存的数据精度

保存数据类型

bf16平衡质量和大小

load_device

load_device

下拉选择

cuda

加载模型的设备

加载设备

cuda用GPU,cpu用内存

store_device

store_device

下拉选择

cpu

存储LoRA的设备

存储设备

cpu节省显存

clamp_quantile

clamp_quantile

数值输入

0.99

裁剪分位数

裁剪分位数

0.99去除极值

metadata

metadata

开关

True

是否构建元数据

构建元数据

True包含训练信息

mem_eff_safe_open

mem_eff_safe_open

开关

False

是否使用内存高效加载

内存高效加载

True节省内存但可能更慢

SD3相关节点

3.27 SD3ModelSelect 节点 - SD3模型选择器

这个节点是干嘛的? 这是专门为SD3模型设计的"模型管理员",选择训练SD3需要的各种模型文件。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

transformer

transformer

下拉选择

-

SD3的主模型文件

SD3 transformer模型

从checkpoints文件夹选择SD3模型

clip_l

clip_l

下拉选择

-

CLIP-L文本编码器

CLIP-L文本编码器

选择clip_l.safetensors

clip_g

clip_g

下拉选择

-

CLIP-G文本编码器

CLIP-G文本编码器

选择clip_g.safetensors

t5

t5

下拉选择

-

T5文本编码器

T5文本编码器

选择t5xxl文件

lora_path

lora_path

文本输入

空

预训练LoRA路径

预训练LoRA路径

可选的现有LoRA路径

3.28 InitSD3LoRATraining 节点 - 初始化SD3 LoRA训练

这个节点是干嘛的? 这是SD3模型的"训练总指挥",专门用来训练SD3的LoRA技能包。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

sd3_models

sd3_models

连接输入

-

SD3模型配置

SD3模型配置

从SD3ModelSelect连线

dataset

dataset

连接输入

-

数据集配置

数据集配置

从TrainDatasetAdd连线

optimizer_settings

optimizer_settings

连接输入

-

优化器设置

优化器设置

从OptimizerConfig连线

output_name

output_name

文本输入

sd35_lora

输出模型名称

输出模型名称

给SD3 LoRA起名

output_dir

output_dir

文本输入

sd35_trainer_output

输出目录

输出目录

保存位置

network_dim

network_dim

数值输入

16

LoRA维度

网络维度

SD3建议用16

network_alpha

network_alpha

数值输入

16

LoRA alpha值

网络alpha

通常等于network_dim

learning_rate

learning_rate

数值输入

1e-4

学习率

学习率

SD3适合稍高的学习率

max_train_steps

max_train_steps

数值输入

1500

最大训练步数

最大训练步数

1500步适合大多数情况

cache_latents

cache_latents

下拉选择

disk

潜在向量缓存

潜在向量缓存

disk节省内存

cache_text_encoder_outputs

cache_text_encoder_outputs

下拉选择

disk

文本编码器缓存

文本编码器缓存

disk节省内存

training_shift

training_shift

数值输入

3.0

训练时间步偏移

训练偏移

3.0是SD3推荐值

highvram

highvram

开关

False

高显存模式

高显存模式

显存充足时开启

blocks_to_swap

blocks_to_swap

数值输入

0

交换块数量

交换块数量

SD3.5L最多36块,SD3.5M最多22块

fp8_base

fp8_base

开关

False

FP8基础模型

FP8基础模型

True节省显存

gradient_dtype

gradient_dtype

下拉选择

fp32

梯度数据类型

梯度数据类型

fp32最稳定

save_dtype

save_dtype

下拉选择

bf16

保存数据类型

保存数据类型

bf16节省空间

attention_mode

attention_mode

下拉选择

sdpa

注意力模式

注意力模式

sdpa推荐

train_text_encoder

train_text_encoder

下拉选择

disabled

训练文本编码器

训练文本编码器

disabled最安全

clip_l_lr

clip_l_lr

数值输入

0

CLIP-L学习率

CLIP-L学习率

训练文本编码器时设置

clip_g_lr

clip_g_lr

数值输入

0

CLIP-G学习率

CLIP-G学习率

训练文本编码器时设置

T5_lr

T5_lr

数值输入

0

T5学习率

T5学习率

训练文本编码器时设置

sample_prompts

sample_prompts

文本输入

illustration of a kitten | photograph of a turtle

采样提示词

采样提示词

测试用的描述

gradient_checkpointing

gradient_checkpointing

下拉选择

enabled

梯度检查点

梯度检查点

enabled节省显存

3.29 SD3TrainLoop 节点 - SD3训练循环

这个节点是干嘛的? 这是SD3的"训练执行器",负责执行SD3模型的训练过程。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

network_trainer

network_trainer

连接输入

-

训练器

网络训练器

从InitSD3LoRATraining连线

steps

steps

数值输入

1

训练步数

训练步数

可以分批训练

3.30 SD3TrainLoRASave 节点 - SD3训练LoRA保存

这个节点是干嘛的? 这是SD3的"成果保存员",专门保存训练好的SD3 LoRA模型。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

network_trainer

network_trainer

连接输入

-

训练器

网络训练器

从SD3训练循环连线

save_state

save_state

开关

False

保存训练状态

保存训练状态

True可以恢复训练

copy_to_comfy_lora_folder

copy_to_comfy_lora_folder

开关

False

复制到LoRA文件夹

复制到LoRA文件夹

True方便使用

3.31 SD3TrainEnd 节点 - SD3训练结束

这个节点是干嘛的? 这是SD3训练的"毕业典礼",正式结束SD3的训练过程。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

network_trainer

network_trainer

连接输入

-

训练器

网络训练器

从SD3训练循环连线

save_state

save_state

开关

True

保存训练状态

保存训练状态

True保存完整信息

3.32 SD3TrainValidationSettings 节点 - SD3训练验证设置

这个节点是干嘛的? 这是SD3的"考试设置员",设定SD3模型验证时的各种参数。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

steps

steps

数值输入

20

采样步数

采样步数

20步够用

width

width

数值输入

1024

图片宽度

图片宽度

SD3适合1024

height

height

数值输入

1024

图片高度

图片高度

SD3适合1024

guidance_scale

guidance_scale

数值输入

4

引导强度

引导缩放

SD3推荐4

seed

seed

数值输入

42

随机种子

随机种子

固定种子便于对比

3.33 SD3TrainValidate 节点 - SD3训练验证

这个节点是干嘛的? 这是SD3的"考试执行员",实际执行SD3模型的验证过程。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

network_trainer

network_trainer

连接输入

-

训练器

网络训练器

从SD3训练循环连线

validation_settings

validation_settings

连接输入

可选

验证设置

验证设置

从SD3TrainValidationSettings连线

SDXL相关节点

3.34 SDXLModelSelect 节点 - SDXL模型选择器

这个节点是干嘛的? 这是专门为SDXL模型设计的"模型管理员",选择SDXL训练需要的模型文件。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

checkpoint

checkpoint

下拉选择

-

SDXL模型文件

SDXL检查点

从checkpoints文件夹选择SDXL模型

lora_path

lora_path

文本输入

空

预训练LoRA路径

预训练LoRA路径

可选的现有LoRA路径

3.35 InitSDXLLoRATraining 节点 - 初始化SDXL LoRA训练

这个节点是干嘛的? 这是SDXL模型的"训练总指挥",专门用来训练SDXL的LoRA技能包。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

SDXL_models

SDXL_models

连接输入

-

SDXL模型配置

SDXL模型配置

从SDXLModelSelect连线

dataset

dataset

连接输入

-

数据集配置

数据集配置

从TrainDatasetAdd连线

optimizer_settings

optimizer_settings

连接输入

-

优化器设置

优化器设置

从OptimizerConfig连线

output_name

output_name

文本输入

SDXL_lora

输出模型名称

输出模型名称

给SDXL LoRA起名

output_dir

output_dir

文本输入

SDXL_trainer_output

输出目录

输出目录

保存位置

network_dim

network_dim

数值输入

16

LoRA维度

网络维度

SDXL建议用16

network_alpha

network_alpha

数值输入

16

LoRA alpha值

网络alpha

通常等于network_dim

learning_rate

learning_rate

数值输入

1e-6

学习率

学习率

SDXL需要很小的学习率

max_train_steps

max_train_steps

数值输入

1500

最大训练步数

最大训练步数

1500步适合大多数情况

cache_latents

cache_latents

下拉选择

disk

潜在向量缓存

潜在向量缓存

disk节省内存

cache_text_encoder_outputs

cache_text_encoder_outputs

下拉选择

disk

文本编码器缓存

文本编码器缓存

disk节省内存

highvram

highvram

开关

False

高显存模式

高显存模式

显存充足时开启

blocks_to_swap

blocks_to_swap

数值输入

0

交换块数量

交换块数量

SDXL最多可以交换一定数量的块

fp8_base

fp8_base

开关

False

FP8基础模型

FP8基础模型

True节省显存

gradient_dtype

gradient_dtype

下拉选择

fp32

梯度数据类型

梯度数据类型

fp32最稳定

save_dtype

save_dtype

下拉选择

fp16

保存数据类型

保存数据类型

fp16适合SDXL

attention_mode

attention_mode

下拉选择

sdpa

注意力模式

注意力模式

sdpa推荐

train_text_encoder

train_text_encoder

下拉选择

disabled

训练文本编码器

训练文本编码器

disabled最安全

clip_l_lr

clip_l_lr

数值输入

0

CLIP-L学习率

CLIP-L学习率

训练文本编码器时设置

clip_g_lr

clip_g_lr

数值输入

0

CLIP-G学习率

CLIP-G学习率

训练文本编码器时设置

sample_prompts_pos

sample_prompts_pos

文本输入

illustration of a kitten | photograph of a turtle

正面提示词

正面采样提示词

想要生成的内容

sample_prompts_neg

sample_prompts_neg

文本输入

空

负面提示词

负面采样提示词

不想要的内容

gradient_checkpointing

gradient_checkpointing

下拉选择

enabled

梯度检查点

梯度检查点

enabled节省显存

3.36 SDXLTrainLoop 节点 - SDXL训练循环

这个节点是干嘛的? 这是SDXL的"训练执行器",负责执行SDXL模型的训练过程。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

network_trainer

network_trainer

连接输入

-

训练器

网络训练器

从InitSDXLLoRATraining连线

steps

steps

数值输入

1

训练步数

训练步数

可以分批训练

3.37 SDXLTrainLoRASave 节点 - SDXL训练LoRA保存

这个节点是干嘛的? 这是SDXL的"成果保存员",专门保存训练好的SDXL LoRA模型。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

network_trainer

network_trainer

连接输入

-

训练器

网络训练器

从SDXL训练循环连线

save_state

save_state

开关

False

保存训练状态

保存训练状态

True可以恢复训练

copy_to_comfy_lora_folder

copy_to_comfy_lora_folder

开关

False

复制到LoRA文件夹

复制到LoRA文件夹

True方便使用

3.38 SDXLTrainEnd 节点 - SDXL训练结束

这个节点是干嘛的? 这是SDXL训练的"毕业典礼",正式结束SDXL的训练过程。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

network_trainer

network_trainer

连接输入

-

训练器

网络训练器

从SDXL训练循环连线

save_state

save_state

开关

True

保存训练状态

保存训练状态

True保存完整信息

3.39 SDXLTrainValidationSettings 节点 - SDXL训练验证设置

这个节点是干嘛的? 这是SDXL的"考试设置员",设定SDXL模型验证时的各种参数。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

steps

steps

数值输入

20

采样步数

采样步数

20步够用

width

width

数值输入

1024

图片宽度

图片宽度

SDXL适合1024

height

height

数值输入

1024

图片高度

图片高度

SDXL适合1024

guidance_scale

guidance_scale

数值输入

7.5

引导强度

引导缩放

SDXL推荐7.5

sampler

sampler

下拉选择

dpm_2

采样器类型

采样器

dpm_2效果好

seed

seed

数值输入

42

随机种子

随机种子

固定种子便于对比

3.40 SDXLTrainValidate 节点 - SDXL训练验证

这个节点是干嘛的? 这是SDXL的"考试执行员",实际执行SDXL模型的验证过程。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

network_trainer

network_trainer

连接输入

-

训练器

网络训练器

从SDXL训练循环连线

validation_settings

validation_settings

连接输入

可选

验证设置

验证设置

从SDXLTrainValidationSettings连线

最终统计: 插件总节点数:39个 已完成分析节点数:39个 剩余未分析节点数:0个

4. 使用技巧和建议

4.1 新手入门建议

  • 从LoRA训练开始:比完整模型训练更容易,需要的资源更少

  • 使用小数据集测试:先用10-20张图片测试流程,确认没问题再用大数据集

  • 选择合适的参数:network_dim=4-16,learning_rate=4e-4,max_train_steps=1000-2000

4.2 显存优化技巧

  • 启用缓存:cache_latents和cache_text_encoder_outputs设为disk

  • 使用FP8:fp8_base=True可以节省显存

  • 交换块:blocks_to_swap设为18可以节省约11GB显存

  • 梯度检查点:gradient_checkpointing=enabled节省显存

4.3 训练质量提升

  • 数据质量:确保训练图片清晰,描述准确

  • 合适的重复次数:图片少时增加num_repeats

  • 正则化数据:使用TrainDatasetRegularization防止过拟合

  • 定期验证:使用FluxTrainAndValidateLoop监控训练效果

4.4 不同模型的建议

  • Flux LoRA:network_dim=4-16,learning_rate=4e-4

  • SD3 LoRA:network_dim=16,learning_rate=1e-4

  • SDXL LoRA:network_dim=16,learning_rate=1e-6

5. 常见问题解答

Q1: 训练时显存不够怎么办?

A:

  • 设置blocks_to_swap=18

  • 启用fp8_base=True

  • 使用cache_latents=disk

  • 降低batch_size到1

  • 启用gradient_checkpointing

Q2: 训练效果不好怎么办?

A:

  • 检查数据质量和描述准确性

  • 调整learning_rate(太高会学坏,太低学不会)

  • 增加训练步数

  • 使用正则化数据集

  • 调整network_dim和network_alpha

Q3: 训练速度太慢怎么办?

A:

  • 使用cache_latents=memory(如果显存够)

  • 设置highvram=True

  • 使用更快的优化器如adamw8bit

  • 减少验证频率

Q4: 如何恢复中断的训练?

A:

  • 训练时设置save_state=True

  • 使用FluxTrainResume节点

  • 填入保存的状态文件路径

Q5: LoRA文件太大怎么办?

A:

  • 降低network_dim

  • 使用save_dtype=fp16或bf16

  • 选择合适的network_type

Q6: 如何分享训练好的模型?

A:

  • 使用UploadToHuggingFace节点

  • 需要HuggingFace账号和token

  • 可以选择公开或私有分享

6. 总结

ComfyUI FluxTrainer 是一个功能强大的AI模型训练插件,支持Flux、SD3、SDXL等多种模型的训练。通过39个专业节点,你可以:

  • 轻松训练LoRA:从数据准备到模型保存的完整流程

  • 优化显存使用:多种节省显存的技巧和设置

  • 监控训练过程:实时查看损失曲线和验证效果

  • 灵活配置参数:支持各种优化器和训练策略

  • 分享训练成果:直接上传到HuggingFace平台

记住最重要的几点:

  1. 数据质量决定训练效果:好的数据是成功的一半

  2. 合理设置参数:根据显存和需求选择合适的配置

  3. 耐心调试:训练是个试错过程,需要不断调整

  4. 定期保存:避免训练中断导致的损失

希望这个详细的教程能帮助你快速掌握ComfyUI FluxTrainer插件的使用!

标签: #插件 2338
相关文章

ComfyUI错误修复插件详解:轻松解决常见问题 2025-07-10 18:25

ComfyUI-CustomMenu插件使用教程:高效自定义工作流指南 2025-07-10 17:50

ComfyUI图像合并插件comfyui-merge使用教程 2025-07-03 22:44

ComfyUI 图像合并插件教程 (comfyui-merge) 1. 插件简介 这是一个专门用来合并图片的 ComfyUI 插件,就像用 PS 把多张图片叠在一起那样。它的特别之处在于你精确控制每张图片的混合方式。 GitHub 地址:https://github.com/LingSss9/com

ComfyUI WAN 2.2视频插件教程:万相AI提示词全攻略 2025-07-31 11:47

ComfyUI WAN 2.2视频插件教程:万相AI提示词实战指南 2025-07-29 20:10

ComfyUI HeyGem数字人插件教程:零基础快速精通指南 2025-07-22 14:10

目录

从节点基础到高阶工作流,我们为你绘制最清晰的 ComfyUI 学习路径。告别困惑,让每一次连接都充满创造的魔力,轻松驾驭 AI 艺术的无限可能。

  • 微信
  • B站
  • GitHub
Copyright © 2025 AIX All Rights Reserved. Powered by AIX.
隐私政策
津ICP备2024019312号