Nodes/ComfyUI Extra Samplers/SamplerDPMPP_3M_SDE_DynETA
ComfyUI Node

SamplerDPMPP_3M_SDE_DynETA

DPM++ 3M SDE where eta anneals down on a cosine curve

By Clybius·Created 3 years ago·Updated 2 years ago· 104
SamplerDPMPP_3M_SDE_DynETA
    • SAMPLER
    noise_sampler_type
    eta_max1.00
    eta_min0.00
    s_noise1.00

    SamplerDPMPP_3M_SDE_DynETA is DPM++ 3M SDE with one thoughtful change: instead of a fixed eta for the whole run, it anneals eta down from a max to a min along a cosine curve. It's from the ComfyUI Extra Samplers pack by Clybius, appears in the sampler dropdown after install, and outputs a SAMPLER for custom sampling.

    Why bother? eta is the strength of the stochastic noise injection on an SDE sampler. High eta early means lots of noise energy - good for exploring the latent space and locking in composition. But if you keep that same high eta at the end, you keep re-injecting noise into a nearly-formed image, which is exactly what produces that restless, grainy "SDE texture" people either love or hate. Annealing it down means you get the exploratory energy when it matters (early steps) and a cleaner, calmer finish (late steps). It's the same philosophy as the pack's dynamic-CFG guiders, applied to the noise side of sampling instead of the guidance side.

    The math, per the README and source: eta traces a cosine curve from eta_max down toward eta_min as denoising proceeds, with eta_min as the floor. Set both equal and you've just recreated plain DPM++ 3M SDE - which is a nice mental model: the node is a superset, and its two extra knobs are the anneal endpoints.

    The inputs that matter:

    • eta_max - the noise strength at the start. Default 1.
    • eta_min - the floor it anneals toward. Default 0; the interesting range is 0 to about half of eta_max.
    • s_noise - the overall noise scaling. Default 1.
    • noise_sampler_type - the pack's usual menu of noise samplers (gaussian, brownian, pyramid, perlin, laplacian…).

    Output: a SAMPLER for your custom sampling chain.

    Honest take: this is one of the more genuinely useful ideas in the pack, because it directly addresses the classic SDE trade-off - energy versus noise-grain - without adding much surface area. Two knobs, one clear mechanism, real effect. The standard cautions still apply: it's ancestral, so non-converging (same seed reproduces, but more steps changes the image rather than refining it), and the 3M multistep machinery is tuned for DDPM-style models - on flow-matching models, keep schedules conservative. For a first experiment, try eta_max 1.0 and eta_min 0.2 and watch the finish clean up versus plain 3M SDE at the same seed.

    Install is the shared pack routine - ComfyUI Manager → "ComfyUI Extra Samplers", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Clybius/ComfyUI-Extra-Samplers
    

    then restart. No model downloads; dependency kornia.

    Categorysampling/custom_sampling/samplers

    Inputs (4)

    NameTypeDefaultDescription
    noise_sampler_typeCOMBO7 options: brownian, gaussian, uniform, highres-pyramid, pyramid, perlin, +1
    eta_maxFLOAT1.000–100
    eta_minFLOAT0.000–100
    s_noiseFLOAT1.000–100

    Outputs (1)

    NameTypeDescription
    SAMPLERSAMPLER