Model
.ai
vi följer öppna AI-modeller

Noden KSampler i ComfyUI

KSampler kör avbrusningsloopen: den tar modellen, prompts och en latent och skapar den färdiga latenta bilden, styrd av seed, steg, cfg, sampler, scheduler och denoise.
Nodpaket: ComfyUI core
Kategori: Sampling
Author: comfyanonymous

Vad KSampler gör

KSampler är där bilden faktiskt skapas. Den börjar från den inmatade latenta (slumpmässigt brus från Empty Latent Image, eller en kodad bild för img2img), och ber modellen ta bort brus under det valda antalet steg, drar mot den positiva prompten och bort från den negativa med cfg-mängden. Resultatet är en LATENT som VAE Decode gör om till en bild.
sampler_name väljer den numeriska metoden (euler, euler_ancestral, dpmpp_2m, dpmpp_2m_sde, dpmpp_3m_sde, uni_pc, lcm, ...) och scheduler styr bruskurvan (normal, karras, exponential, sgm_uniform, simple, beta). denoise bestämmer hur mycket av den inmatade latenta som byts ut: 1.0 för text-till-bild, 0.3-0.7 för img2img och hires-pass. KSampler (Advanced) visar start- och slutsteg för flerstegs-sampling.

Ingångar

Namn
Typ
Vad det är
model
MODEL
Avbrusningsmodellen, efter eventuella LoRA- eller ControlNet-patchar.
positive
CONDITIONING
Det du vill ha (från CLIP Text Encode, eventuellt via ControlNet Apply).
negative
CONDITIONING
Det du inte vill ha.
latent_image
LATENT
Startlatenten: tomt brus eller en kodad bild.
seed
INT
Brusets seed. Samma seed och inställningar ger samma bild. control_after_generate kan sättas till fixed, increment, decrement eller randomize.
steps
INT
Antal avbrusningssteg. 20-30 för de flesta SD-modeller, 4-8 för Lightning, Turbo och LCM-modeller.
cfg
FLOAT
Classifier-free guidance-skala. 5-8 för SD 1.5 och SDXL, 1.0 för Flux och destillerade modeller.
sampler_name
COMBO
Samplingalgoritmen.
scheduler
COMBO
Brusschemat.
denoise
FLOAT
Andel av bruset som tas bort. 1.0 = börja från början; lägre värde behåller mer av inmatningsbilden.

Utgångar

Namn
Typ
Vad det är
LATENT
LATENT
Den samplade latenta för VAE Decode eller en andra sampler.

Så använder du KSampler

  1. Koppla in MODEL, båda CONDITIONING och en LATENT.
  2. Sätt steg till 25, cfg till 7, dpmpp_2m med karras för SDXL; euler med simple, cfg 1 för Flux.
  3. Sätt denoise till 1.0 för en helt ny bild.
  4. Koppla LATENT till VAE Decode och sedan Save Image.
  5. Köa och lås sedan seed när du vill jobba vidare på prompten.

Inställningar och tips

  • dpmpp_2m + karras är det allsidiga valet; euler_ancestral ger variation men konvergerar aldrig; dpmpp_2m_sde ger extra detalj på bekostnad av determinism mellan GPU:er.
  • Lightning, Hyper och Turbo checkpoints behöver egna inställningar: 4-8 steg, cfg 1-2, sgm_uniform eller simple.
  • För ett hires-pass, mata första latenten genom Upscale Latent By och en andra KSampler med denoise 0.4-0.55.
  • Håll Ctrl+Shift+V för att klistra in en nod med dess kopplingar; bra när du duplicerar samplers.
  • Ett fast seed med samma inställningar går att reproducera på samma GPU; olika kort kan ge små skillnader.

Felsökning av KSampler

Brus, statiskt eller en suddig klump istället för en bild

Varför det händer
Inställningarna passar inte modellen: cfg 7 på en destillerad modell, 4 steg på en vanlig modell, en Flux-modell utan Flux Guidance, eller denoise långt under 1 på en tom latent.

Så löser du det
Följ modellens sida: vanlig SD = 20-30 steg, cfg 5-8; Lightning/Turbo = 4-8 steg, cfg 1-2; Flux = cfg 1, guidance 3.5, 20+ steg. Använd denoise 1.0 när latenten är tom.

Överexponerat, övermättat, högkontrastigt resultat

Varför det händer
cfg är för högt för modellen eller LoRA-stacken, eller en ancestral sampler med många steg.

Så löser du det
Sänk cfg till 4-6, minska LoRA-styrkor, eller byt från euler_ancestral till dpmpp_2m.

torch.OutOfMemoryError: CUDA out of memory during sampling

Varför det händer
Latenten är för stor för kortet vid denna batchstorlek, eller en annan modell (ControlNet, upscaler) ligger i VRAM samtidigt.

Så löser du det
Sänk upplösning eller batch_size, lägg till --lowvram, använd fp8-vikter, eller dela upp hires-passet i en andra kö så att första modellen avlastas.

Fel: mat1 och mat2 shapes kan inte multipliceras

Varför det händer
Conditioningen kommer från en textkodare av en annan familj än modellen (SD 1.5 CLIP in i en SDXL-modell, eller tvärtom).

Så löser du det
Koppla CLIP från samma checkpoint som levererar MODEL.

Bilder ändras varje gång trots att seed är fast

Varför det händer
control_after_generate är satt till randomize, eller en SDE / ancestral sampler används med en icke-deterministisk backend.

Så löser du det
Sätt control_after_generate till fixed och välj dpmpp_2m eller euler för exakt upprepning.

Samma bild upprepas över prompts (seed fastnar)

Varför det händer
control_after_generate är fixed och bruset dominerar vid låg cfg eller få steg.

Så löser du det
Sätt den till randomize eller increment och höj cfg lite.

Frågor om KSampler

Vad är skillnaden mellan KSampler och KSampler (Advanced)?

Advanced lägger till add_noise, start_at_step, end_at_step och return_with_leftover_noise, vilket låter dig dela upp sampling mellan två modeller, till exempel SDXL base och sedan refiner.

Vilken sampler är snabbast?

euler och dpmpp_2m gör ett modellanrop per steg; _2s och _3m varianterna tar fler. LCM och Lightning-modeller är snabba eftersom de behöver få steg, inte på grund av samplern.

Vad gör denoise med en tom latent?

Allt under 1.0 lämnar kvar en del av det ursprungliga bruset i output och ger dimma. Behåll 1.0 för text-till-bild.

Fler ComfyUI-noder