DPMSolverMultistepScheduler
DPMSolverMultistepScheduler
is a multistep scheduler from DPM-Solver: A Fast ODE Solver for Diffusion Probabilistic Model Sampling in Around 10 Steps and DPM-Solver++: Fast Solver for Guided Sampling of Diffusion Probabilistic Models by Cheng Lu, Yuhao Zhou, Fan Bao, Jianfei Chen, Chongxuan Li, and Jun Zhu.
DPMSolver (and the improved version DPMSolver++) is a fast dedicated high-order solver for diffusion ODEs with convergence order guarantee. Empirically, DPMSolver sampling with only 20 steps can generate high-quality samples, and it can generate quite good samples even in 10 steps.
Tips
It is recommended to set solver_order
to 2 for guide sampling, and solver_order=3
for unconditional sampling.
Dynamic thresholding from Imagen is supported, and for pixel-space
diffusion models, you can set both algorithm_type="dpmsolver++"
and thresholding=True
to use the dynamic
thresholding. This thresholding method is unsuitable for latent-space diffusion models such as
Stable Diffusion.
The SDE variant of DPMSolver and DPM-Solver++ is also supported, but only for the first and second-order solvers. This is a fast SDE solver for the reverse diffusion SDE. It is recommended to use the second-order sde-dpmsolver++
.
DPMSolverMultistepScheduler
[[autodoc]] DPMSolverMultistepScheduler
SchedulerOutput
[[autodoc]] schedulers.scheduling_utils.SchedulerOutput