Skip to content

(Non-exhaustive) List of Schedulers

  • normal: Time uniform sampling that includes both σ_max and σ_min
    • In practice, this may lead to having a final tiny step (σ_min to 0) that doesn't behave well
  • karras: The schedule introduced in EDM by Karras et al.
  • exponential: A schedule where the σ follows an exponential curve
  • sgm_uniform: normal, except that σ_min is not included
    • You can probably replace normal with this one in all situations
    • AFAICT, the naming comes from StabilityAI's generative-models repository.
  • simple: comfy wrote the simplest scheduler they could think of for fun. In practice, basically the same as sgm_uniform.
  • ddim_uniform: The schedule used in the original DDIM paper
  • beta: Paper authors found the model settles general composition in the early steps while ironing out small details in the later steps, with "nothing" really happening in the middle steps. They thus argue to use the beta distribution for generating a schedule, which would give more steps to both ends and leave a few steps in the middle.
  • kl_optimal: Introduced in AYS paper that theoretically would minimize the kl divergence.
  • AYS (Align Your Steps): Predefined lists of noise levels found through numerical optimization to be good for a specific model architecture.
    • SD1 / SDXL / SVD: Match this with the one your model is based on.
    • AYS 11 / AYS 32: AYS tuned for 10 / 31 steps generation. If you select any step count besides 10 / 31, log-linear interpolation is used to create the undefined noise levels.
  • GITS (Geometry-Inspired Time Scheduling): Paper authors examine different imagegen neural nets and found surprisingly similar generation trajectories across them. They exploit the structure of this trajectory, which is GITS.