Model
.ai
追蹤開放 AI 模型

ComfyUI 中的 KSampler 節點

KSampler 執行去噪循環:它接收模型、提示詞和潛在向量,並產生完成的潛在圖像,透過種子、步數、cfg、採樣器、排程器和去噪程度來控制。
節點包:ComfyUI core
分類:取樣
Author: comfyanonymous

KSampler 的作用

KSampler 是實際生成圖像的地方。從輸入的潛在向量開始(來自空潛在圖像的隨機噪聲,或 img2img 的編碼圖片),它會請模型在設定的步數內去除噪聲,根據 cfg 數值往正面提示詞靠攏,遠離負面提示詞。結果是一個 LATENT,接著 VAE Decode 會把它轉成圖像。
sampler_name 選擇數值方法(euler、euler_ancestral、dpmpp_2m、dpmpp_2m_sde、dpmpp_3m_sde、uni_pc、lcm 等),scheduler 則是噪聲曲線(normal、karras、exponential、sgm_uniform、simple、beta)。denoise 控制替換多少輸入潛在向量:文字轉圖像用 1.0,img2img 和高解析度處理用 0.3-0.7。KSampler (Advanced) 可以設定多階段採樣的開始和結束步數。

輸入

名稱
類型
含義
model
MODEL
去噪模型,包含任何 LoRA 或 ControlNet 的補丁。
positive
CONDITIONING
你想要的東西(來自 CLIP 文字編碼,可能經過 ControlNet Apply)。
negative
CONDITIONING
你不想要的東西。
latent_image
LATENT
起始潛在向量:空白噪聲或編碼過的圖像。
seed
INT
噪聲種子。相同種子和設定會產生相同圖像。control_after_generate 可設定固定、遞增、遞減或隨機。
steps
INT
去噪步數。大多數 SD 模型用 20-30,Lightning、Turbo 和 LCM 模型用 4-8。
cfg
FLOAT
無分類器引導比例。SD 1.5 和 SDXL 用 5-8,Flux 和蒸餾模型用 1.0。
sampler_name
COMBO
採樣演算法。
scheduler
COMBO
噪聲排程。
denoise
FLOAT
去除噪聲的比例。1.0 = 從頭開始;數值越低保留越多輸入圖像。

輸出

名稱
類型
含義
LATENT
LATENT
供 VAE Decode 或第二個採樣器使用的採樣潛在向量。

如何使用 KSampler

  1. 連接 MODEL、兩個 CONDITIONING 和一個 LATENT。
  2. SDXL 設定步數 25、cfg 7、dpmpp_2m 搭配 karras;Flux 用 euler 搭配 simple,cfg 1。
  3. denoise 設為 1.0 以產生全新圖像。
  4. 連接 LATENT 到 VAE Decode,然後儲存圖像。
  5. 排隊後,想要調整提示詞時固定種子。

設定與技巧

  • dpmpp_2m + karras 是萬用選擇;euler_ancestral 增加變化但不會收斂;dpmpp_2m_sde 提供更多細節,但不同 GPU 間不一定一致。
  • Lightning、Hyper 和 Turbo 檢查點需要特別設定:4-8 步,cfg 1-2,sgm_uniform 或 simple。
  • 高解析度處理時,先用 Upscale Latent By 放大潛在向量,再用第二個 KSampler,denoise 設 0.4-0.55。
  • 按住 Ctrl+Shift+V 可貼上節點及其連接,方便複製採樣器。
  • 相同 GPU 上固定種子和設定可重現;不同顯卡可能略有差異。

KSampler 疑難排解

出現噪聲、靜態或模糊斑塊而非圖像

原因
設定不符合模型:蒸餾模型用 cfg 7,普通模型用 4 步,Flux 模型沒用 Flux Guidance,或空潛在向量用 denoise 遠低於 1。

修復方法
參考模型頁面:普通 SD 用 20-30 步,cfg 5-8;Lightning/Turbo 用 4-8 步,cfg 1-2;Flux 用 cfg 1,指導 3.5,20 步以上。空潛在向量用 denoise 1.0。

輸出過曝、飽和或對比過強

原因
cfg 對模型或 LoRA 堆疊太高,或用 ancestral 採樣器且步數多。

修復方法
把 cfg 降到 4-6,降低 LoRA 強度,或從 euler_ancestral 換成 dpmpp_2m。

torch.OutOfMemoryError:採樣時 CUDA 記憶體不足

原因
潛在向量對顯卡來說太大,或同時有其他模型(ControlNet、放大器)佔用 VRAM。

修復方法
降低解析度或批次大小,加 --lowvram,使用 fp8 權重,或把高解析度處理分成第二個排隊,讓第一個模型先釋放。

錯誤:mat1 和 mat2 形狀無法相乘

原因
條件向量來自和模型不同系列的文字編碼器(SD 1.5 CLIP 用在 SDXL,或反過來)。

修復方法
連接和 MODEL 同一檢查點的 CLIP。

種子固定但每次生成圖像都不同

原因
control_after_generate 設為隨機,或用 SDE / ancestral 採樣器搭配非確定性後端。

修復方法
把 control_after_generate 設為固定,並優先用 dpmpp_2m 或 euler 以確保可重複。

不同提示詞卻一直重複同一張圖(種子卡住)

原因
control_after_generate 是固定,但在低 cfg 或低步數時噪聲占主導。

修復方法
改成隨機或遞增,並稍微提高 cfg。

關於 KSampler 的問題

KSampler 和 KSampler (Advanced) 有什麼差別?

Advanced 多了 add_noise、start_at_step、end_at_step 和 return_with_leftover_noise,可以分兩階段採樣,比如先用 SDXL base 再用精煉器。

哪個採樣器最快?

euler 和 dpmpp_2m 每步只呼叫一次模型;_2s 和 _3m 版本會多呼叫。LCM 和 Lightning 模型快是因為步數少,不是採樣器本身快。

denoise 對空潛在向量有什麼作用?

低於 1.0 會保留部分原始噪聲,產生霧狀效果。文字轉圖像要保持 1.0。

更多 ComfyUI 節點