Schedulers
Discover the various schedulers available for image generation.
What schedulers do
Schedulers are algorithms that control the progression of the denoising process in generative models. When generating an image, the model starts with random noise and progressively refines this noise into a coherent image. The scheduler dictates how the noise reduction happens over each iteration, impacting the quality, speed, and style of the generated image.
Supported schedulers
Although the scheduler parameter is optional (the model's own scheduler is used by default), you can specify a different scheduler from the following table.
Scheduler | Friendly name | Description |
---|---|---|
Default | Depends on model | The default scheduler used by the Stable Diffusion model. |
DDIM | DDIM | Direct implementation of DDIM sampling method. |
DDIMScheduler | DDIM | Accelerates denoising with fewer steps, maintaining high quality. |
DDPMScheduler | DDPM | Standard scheduler following the original diffusion process. |
DEISMultistepScheduler | DEIS Multistep | Efficient denoising with multiple steps for improved quality. |
DPMSolverSinglestepScheduler | DPM-Solver Single-step | Single-step solver for direct denoising efficiency. |
DPMSolverMultistepScheduler | DPM-Solver Multi-step | Multi-step solver enhancing denoising accuracy and stability. |
DPMSolverMultistepInverse | DPM-Solver Multi-step Inverse | Inverse multi-step solver for reverse processes. |
DPM++ | DPM++ | Basic implementation of DPM++ sampling method. |
DPM++ Karras | DPM++ Karras | DPM++ scheduler with Karras noise scheduling. |
DPM++ 2M | DPM++ 2M | Enhanced DPM++ with 2nd-order multistep method. |
DPM++ 2M Karras | DPM++ 2M Karras | Advanced Karras scheduler with second-order method. |
DPM++ 2M SDE Karras | DPM++ 2M SDE Karras | Combines second-order and SDE techniques for superior denoising. |
DPM++ 2M SDE | DPM++ 2M SDE | Second-order scheduler with SDE for robust image generation. |
DPM++ 3M | DPM++ 3M | Advanced DPM++ with 3rd-order multistep method. |
DPM++ 3M Karras | DPM++ 3M Karras | Third-order DPM++ with Karras noise scheduling. |
DPM++ SDE Karras | DPM++ SDE Karras | Karras method integrated with SDE for optimal denoising. |
DPM++ SDE | DPM++ SDE | Stochastic differential equations-based scheduler for high-quality images. |
EDMEulerScheduler | EDM Euler | Enhanced denoising with modifications to the Euler method. |
EDMDPMSolverMultistepScheduler | EDM DPM-Solver Multi-step | EDM-enhanced multi-step solver for precision and quality. |
Euler | Euler | Basic Euler method implementation. |
EulerDiscreteScheduler | Euler | Utilizes Euler's method for simple and effective denoising. |
Euler Karras | Euler Karras | Euler method with Karras noise scheduling. |
Euler a | Euler Ancestral | Euler method with ancestral sampling variant. |
EulerAncestralDiscreteScheduler | Euler Ancestral | Euler's method with ancestral sampling for better quality. |
FlowMatchEulerDiscreteScheduler | FlowMatch Euler | Flow matching techniques combined with Euler's method for precision. |
Heun | Heun | Basic implementation of Heun's method. |
HeunDiscreteScheduler | Heun | Uses Heun's method for precise and efficient denoising. |
Heun Karras | Heun Karras | Heun's method with Karras noise scheduling. |
IPNDMScheduler | IPNDM | Improved pseudo numerical methods for efficient diffusion. |
KDPM2DiscreteScheduler | KDPM2 | Second-order scheduler for refined noise reduction. |
KDPM2AncestralDiscreteScheduler | KDPM2 Ancestral | Second-order scheduler incorporating ancestral sampling. |
LCM | LCM | Basic implementation of Low-Complexity Method. |
LCMScheduler | LCM | Low-complexity scheduler designed for efficient denoising with minimal computational resources. |
LMS | LMS | Basic Linear Multi-Step method implementation. |
LMSDiscreteScheduler | LMS | Linear multistep method for balanced speed and quality. |
LMS Karras | LMS Karras | Linear Multi-Step method with Karras noise scheduling. |
PNDMScheduler | PNDM | Combines numerical methods with diffusion for effective denoising. |
TCDScheduler | TCD | Time-continuous diffusion scheduler for smooth denoising processes. |
UniPC | UniPC | Basic Universal PC scheduler implementation. |
UniPCMultistepScheduler | UniPC Multistep | Universal multi-step scheduler for diverse applications. |
UniPC Karras | UniPC Karras | Universal PC scheduler with Karras noise scheduling. |
UniPC 2M | UniPC 2M | Second-order Universal PC scheduler. |
UniPC 2M Karras | UniPC 2M Karras | Second-order Universal PC with Karras scheduling. |
UniPC 3M | UniPC 3M | Third-order Universal PC scheduler. |
UniPC 3M Karras | UniPC 3M Karras | Third-order Universal PC with Karras scheduling. |