⬡ 节点流学园

⚙️ 02-核心机制

KSampler 全参数解剖:seed/steps/cfg/denoise

核心KSampler参数seedstepscfgdenoise

一句话定义

KSampler 是把"模型 + 正负条件 + 起始潜空间"变成"成品潜空间"的执行节点,六个参数(seed、steps、cfg、sampler_name、scheduler、denoise)完整定义了一次生成——本页逐个给出物理意义、推荐区间与联动关系。

为什么重要

这 6 个参数是 ComfyUI 的"驾驶舱"。90% 的效果调整、90% 的玄学困惑、90% 的可复现问题都发生在这里。

前置知识

扩散模型直觉:从噪声到图像的迭代雕刻(去噪循环)、CLIP 与条件编码:文字如何变成方向(条件)、第一个文生图工作流解剖(节点位置)。

核心概念(逐参数)

参数作用推荐区间(基线模型)说明
seed决定初始噪声,控制随机性任意配合 control_after_generate(见 队列、种子与可复现性)
steps去噪迭代次数SD1.5: 20-30;SDXL: 25-40收益递减,详见 扩散模型直觉:从噪声到图像的迭代雕刻
cfg正负条件引导强度SD1.5: 6-8;SDXL: 4-7过高炸图,机制见 CFG 与负面引导:引导强度的数学
sampler_name去噪算法euler / dpmpp_2m 起步选型学见 采样器与调度器选型指南
scheduler噪声日程表karras / normal同见 采样器与调度器选型指南
denoise重绘强度 0-1文生图 1.0;图生图 0.3-0.7见 图生图与重绘幅度(denoise)

原理与机制

  • seed → noise:以 seed 播种的高斯噪声即"大理石"。文生图 denoise=1.0 时起始 latent=纯噪声;图生图时噪声与输入 latent 混合,比例即 denoise。
  • steps 的真实含义:循环次数;但注意图生图时实际步数 = steps × denoise(只走反向过程末段,见 扩散模型直觉:从噪声到图像的迭代雕刻)。
  • cfg 的位置:每一步中,引导向量按 ε(c−)+cfg·(ε(c+)−ε(c−)) 合成(数学见 CFG 与负面引导:引导强度的数学),因此 cfg 是"每一步都在生效"的持续拉力,不是最后滤镜。
  • KSampler (Advanced) 版本多出:add_noise、start_at_step/end_at_step(把 steps 换算成绝对步号)、return_with_leftover_noise。价值:把一次采样拆成两段接力(如 Base 走 0-80% 步 → Refiner 续 80-100%,见 SDXL 与多编码器家族:换模型换什么),以及分段注入修改。

公式 / 模型 / 图示

文生图:   x_start = randn(seed)                       # denoise=1
图生图:   x_start = mix(noise(seed), VAE_Encode(img), denoise)
循环 steps 次(图生图时实际 steps×denoise 次):
    ε = cfg融合( MODEL(x, t, c+), MODEL(x, t, c−) )
    x = scheduler.step(x, ε)
输出 → VAE Decode

直观类比

  • seed:骰子点数(起点随机性)
  • steps:锤击次数(雕刻工时)
  • cfg:甲方监工的强势程度(过高把雕塑掰变形)
  • denoise:动工范围(整块重雕 vs 只抛光表面)
  • sampler/scheduler:雕刻手法与工序表

实例与案例

  • 换构图不改风格:seed 固定,只改 prompt → 构图随文字变,风格稳定。
  • 二段接力:Advanced 版 start_at=0/end_at=20(20 步)接第二支 KSampler start_at=20/end_at=40 并换模型,实现 Base→Refiner。
  • 快速废图筛:steps=10、sampler=euler 先出草稿选构图,选中的再上 30 步精修,省一半时间。

常见误区

  • 把 cfg 当"清晰度"拉满:cfg>10 常出现色块炸裂、对比度失真;清晰度不足请提高 steps 或换 sampler。
  • 图生图 steps=30、denoise=0.3 以为跑了 30 步:实际 9 步;想要更多细节要么提 steps 要么提 denoise。
  • 以为 seed 可以补偿参数:任何参数变化都会改变结果路径,seed 只保证"同一套参数下的重复性"。
  • Advanced 与普通 KSampler 混用不查 step 号:两段接力的 step 区间必须无缝衔接,否则中间丢步或重复步。

自测题

  1. denoise=0.6、steps=25 的图生图,实际执行多少步?
  2. cfg=25 的图通常长什么样?为什么?
  3. 想把 Base 模型的前 24 步交给 Refiner 模型完成剩余 8 步,需要哪个节点、怎么设?
  4. 为什么换 sampler 后同 seed 结果不同?
参考答案
  1. 25×0.6=15 步。
  2. 过饱和、高对比、塑料感/撕裂感;因为差值放大过度,引导向量超出模型分布。
  3. KSampler (Advanced) ×2:第一支 start 0/end 24(return_with_leftover_noise 开),第二支 start 24/end 32。
  4. sampler 决定每一步"如何减噪"的路径,路径不同终点不同;seed 只固定起点噪声。

与其他知识点的关系

延伸阅读

  • ComfyUI 官方 Sampling 文档:docs.comfy.org
  • 采样器对比实验帖:r/StableDiffusion 社区历年评测

前置知识

扩散模型直觉:从噪声到图像的迭代雕刻CLIP 与条件编码:文字如何变成方向

关联知识点

采样器与调度器选型指南图生图与重绘幅度(denoise)CFG 与负面引导:引导强度的数学队列、种子与可复现性