pablo
add diffusers fork
a63d2a4
|
raw
history blame
2.13 kB

DPMSolverMultistepScheduler

DPMSolverMultistep 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 (https://huggingface.co/papers/2205.11487) 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