SDXL LoRA 推理:在 ComfyUI 中运行 AI Toolkit LoRA 以获得训练匹配的结果
SDXL LoRA 推理:在 ComfyUI 中以更少的步骤实现训练匹配的结果。 该工作流通过 RunComfy 的 RC SDXL (RCSDXL) 自定义节点(在 runcomfy-com GitHub 组织的代码库 中开源)运行 Stable Diffusion XL (SDXL) 和 AI Toolkit 训练的 LoRA。通过包装一个 特定于 SDXL 的管道(而不是通用采样器图)并标准化 LoRA 加载和缩放(lora_path / lora_scale)以及 SDXL 正确的默认设置,您的 ComfyUI 输出将更接近您在训练预览中看到的内容。
如果您在 AI Toolkit(RunComfy Trainer 或其他地方)中训练了一个 SDXL LoRA,并且您的 ComfyUI 结果与训练预览相比看起来“偏离”,此工作流是最快的返回训练匹配行为的方法。
如何使用 SDXL LoRA 推理工作流
步骤 1:打开工作流
打开 RunComfy SDXL LoRA 推理工作流
步骤 2:导入您的 LoRA(2 个选项)
- 选项 A(RunComfy 训练结果): RunComfy → Trainer → LoRA Assets → 找到您的 LoRA → ⋮ → 复制 LoRA 链接

- 选项 B(AI Toolkit LoRA 在 RunComfy 之外训练): 复制您的 LoRA 的直接
.safetensors下载链接并将该 URL 粘贴到lora_path中。
步骤 3:为 SDXL LoRA 推理配置 RCSDXL
在 RCSDXL SDXL LoRA 推理 节点 UI 中,设置剩余参数:
prompt:您的主要文本提示(包括训练期间使用的任何触发词)negative_prompt:可选;如果您在训练预览中没有使用,请留空width/height:输出分辨率sample_steps:采样步骤(在比较结果时匹配您的训练预览设置)guidance_scale:CFG / 指导(匹配训练预览 CFG)seed:使用固定种子以确保可重复性;更改它以探索变化lora_scale:LoRA 强度/强度
如果您在训练期间调整过采样,请打开 AI Toolkit 训练 YAML 并复制相同的值到这里——特别是 width、height、sample_steps、guidance_scale 和 seed。 如果您是在 RunComfy 上进行训练,还可以打开 Trainer → LoRA Assets 中的 LoRA 配置 并复制预览/采样值。

步骤 4:运行 SDXL LoRA 推理
- 点击 Queue/Run → 输出通过 SaveImage 自动保存
为什么 SDXL LoRA 推理在 ComfyUI 中看起来不同 & RCSDXL 自定义节点的作用是什么
大多数 SDXL LoRA 不匹配不是由一个错误的旋钮引起的——它们是因为推理 管道 变化而发生的。 AI Toolkit 训练预览是通过特定模型的 SDXL 推理实现生成的,而许多 ComfyUI 图是从通用组件重建的。即使使用相同的提示、步骤、CFG 和种子,不同的管道(和 LoRA 注入路径)也可能产生显著不同的结果。
RC SDXL (RCSDXL) 节点包装了一个特定于 SDXL 的推理管道,因此 SDXL LoRA 推理 保持与 AI Toolkit 训练预览管道一致,并使用一致的 SDXL LoRA 注入行为。参考实现:`src/pipelines/sdxl.py`
SDXL LoRA 推理的故障排除
大多数“训练预览与 ComfyUI 推理”问题来自 管道不匹配,而不是单个错误参数。 如果您的 LoRA 是使用 AI Toolkit (SDXL) 训练的,最可靠的恢复 训练匹配行为 的方法是在 ComfyUI 中通过 RunComfy 的 RCSDXL 自定义节点运行推理,该节点在 管道级别 对齐 SDXL 采样 + LoRA 注入。
(1) 推理 lora .safetensor 文件 sdxl 模型与训练中的样本不匹配
为什么会发生这种情况
即使加载了 LoRA,如果您的 ComfyUI 图与训练预览管道不匹配(不同的 SDXL 默认设置,不同的 LoRA 注入路径,不同的精炼处理),结果仍可能偏移。
如何修复(推荐)
- 使用 RCSDXL 并将您的直接
.safetensors链接粘贴到lora_path中。 - 从您的 AI Toolkit 训练配置(或 RunComfy Trainer → LoRA Assets 配置)中复制采样值:
width、height、sample_steps、guidance_scale、seed。 - 除非您进行训练/采样时使用了“额外速度堆栈”(LCM/Lightning/Turbo),否则不要将其纳入比较。
(2) SDXL lora 键未加载 "lora_te2_text_projection.*"
为什么会发生这种情况
您的 LoRA 包含 SDXL 文本编码器 2 投影键,当前的加载路径没有应用这些键(当注入/键映射与 SDXL 的双编码器设置不匹配时很容易出现)。
如何修复(最可靠)
- 使用 RCSDXL 并在节点内通过
lora_path加载 LoRA(管道级别注入)。 - 保持
lora_scale一致,并包含训练期间使用的相同触发词。 - 如果警告仍然存在,尝试使用训练中使用的确切基检查点(不匹配的 SDXL 变体可能会产生丢失/忽略的键)。
(3) 不能再使用 LoRAs 与 SDXL
为什么会发生这种情况
更新 ComfyUI / 自定义节点后,SDXL LoRA 应用可能会改变(加载器行为、缓存、内存行为),导致以前工作的图失败或偏移。
如何修复(推荐)
- 使用 RCSDXL 以保持 SDXL 推理路径稳定和训练对齐。
- 在更新后清除模型/节点缓存或重新启动会话(尤其是在您调整 LoRA/加载器设置后只有行为变化时)。
- 为调试,首先运行一个最小的仅基 SDXL 工作流,然后再增加复杂性。
(4) 调度挂钩 LoRA 在更改值后的后续运行中不正确的 CLIP 缓存
为什么会发生这种情况
挂钩/调度工作流在参数更改后可以重用缓存的 CLIP 状态,这会破坏可重复性,并使 LoRA 行为在运行之间看起来不一致。
如何修复(推荐)
- 对于训练匹配的推理,首先首选 RCSDXL,使用简单的
lora_path/lora_scale(在基线匹配之前避免挂钩/调度层)。 - 如果必须使用挂钩/调度节点,请在更改挂钩参数后清除缓存(或重新启动),然后使用相同的种子重新运行。
(5) 尝试使用 LORA 进行 SDXL 修补时出现 Ksampler 错误
为什么会发生这种情况
修补堆栈在采样期间修补模型。当您在会话中更改设置时,一些自定义节点/助手包装器可能与 LoRA 修补冲突,触发 KSampler/修补工人错误。
如何修复(推荐)
- 首先确认 LoRA 在 RCSDXL 中的简单 txt2img 工作流中正常工作(管道级基线)。
- 一次添加一个组件的修补。如果错误仅在编辑后出现,请在重新运行前重新启动/清除缓存。
- 如果问题仅在特定助手节点时发生,请尝试普通的修补路径或更新/禁用冲突的自定义节点。
(6) 我收到此错误 clip missing: ['clip_l.logit_scale', 'clip_l.transformer.text_projection.weight']
为什么会发生这种情况
这通常意味着加载的 CLIP/文本编码器资产与您正在运行的 SDXL 检查点不匹配(缺少预期的 SDXL CLIP 权重),这也可能导致 LoRA 行为看起来“偏离”。
如何修复(推荐)
- 确保您使用正确的 SDXL 检查点设置以及正确的 SDXL 文本编码器/CLIP 组件。
- 然后通过 RCSDXL 运行 LoRA 推理,以便 SDXL 条件路径从头到尾保持一致。
现在运行 SDXL LoRA 推理
打开 RunComfy SDXL LoRA 推理 工作流,将您的 LoRA 粘贴到 lora_path 中,并运行 RCSDXL 以在 ComfyUI 中进行训练匹配的 SDXL LoRA 推理。

