From db9a8871bd1ede2f5439f42036fb4b7b90a92700 Mon Sep 17 00:00:00 2001 From: patil-suraj Date: Thu, 14 Mar 2024 11:20:57 +0100 Subject: [PATCH 1/3] add edm schedulers in doc --- .../source/en/api/edm_multistep_dpm_solver.md | 24 +++++++++++++++++++ docs/source/en/api/schedulers/edm_euler.md | 22 +++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 docs/source/en/api/edm_multistep_dpm_solver.md create mode 100644 docs/source/en/api/schedulers/edm_euler.md diff --git a/docs/source/en/api/edm_multistep_dpm_solver.md b/docs/source/en/api/edm_multistep_dpm_solver.md new file mode 100644 index 000000000000..29e075266f30 --- /dev/null +++ b/docs/source/en/api/edm_multistep_dpm_solver.md @@ -0,0 +1,24 @@ + + +# EDMDPMSolverMultistepScheduler + +`EDMDPMSolverMultistepScheduler` is a Karras formulation of `DPMSolverMultistep`, a multistep scheduler from [DPM-Solver: A Fast ODE Solver for Diffusion Probabilistic Model Sampling in Around 10 Steps](https://huggingface.co/papers/2206.00927) and [DPM-Solver++: Fast Solver for Guided Sampling of Diffusion Probabilistic Models](https://huggingface.co/papers/2211.01095) 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. + +## EDMDPMSolverMultistepScheduler +[[autodoc]] EDMDPMSolverMultistepScheduler + +## SchedulerOutput +[[autodoc]] schedulers.scheduling_utils.SchedulerOutput diff --git a/docs/source/en/api/schedulers/edm_euler.md b/docs/source/en/api/schedulers/edm_euler.md new file mode 100644 index 000000000000..228f0505e3bc --- /dev/null +++ b/docs/source/en/api/schedulers/edm_euler.md @@ -0,0 +1,22 @@ + + +# EDMEulerScheduler + +The Karras formulation of the Euler scheduler (Algorithm 2) from the [Elucidating the Design Space of Diffusion-Based Generative Models](https://huggingface.co/papers/2206.00364) paper by Karras et al. This is a fast scheduler which can often generate good outputs in 20-30 steps. The scheduler is based on the original [k-diffusion](https://github.com/crowsonkb/k-diffusion/blob/481677d114f6ea445aa009cf5bd7a9cdee909e47/k_diffusion/sampling.py#L51) implementation by [Katherine Crowson](https://github.com/crowsonkb/). + + +## EDMEulerScheduler +[[autodoc]] EDMEulerScheduler + +## EDMEulerSchedulerOutput +[[autodoc]] schedulers.scheduling_edm_euler.EDMEulerSchedulerOutput From 2c1eb90f08d8ab039abd9df2957e72c87c88238c Mon Sep 17 00:00:00 2001 From: patil-suraj Date: Thu, 14 Mar 2024 11:28:29 +0100 Subject: [PATCH 2/3] add in toctree --- docs/source/en/_toctree.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/source/en/_toctree.yml b/docs/source/en/_toctree.yml index 6db44d1c00e0..15f4f460458e 100644 --- a/docs/source/en/_toctree.yml +++ b/docs/source/en/_toctree.yml @@ -404,6 +404,10 @@ title: EulerAncestralDiscreteScheduler - local: api/schedulers/euler title: EulerDiscreteScheduler + - local: api/schedulers/edm_euler + title: EDMEulerScheduler + - local: api/schedulers/edm_multistep_dpm_solver + title: EDMDPMSolverMultistepScheduler - local: api/schedulers/heun title: HeunDiscreteScheduler - local: api/schedulers/ipndm From bbc5bc8e08ab8851b46a742251688f3b5f9b8792 Mon Sep 17 00:00:00 2001 From: patil-suraj Date: Thu, 14 Mar 2024 11:38:10 +0100 Subject: [PATCH 3/3] address reviewe comments --- docs/source/en/api/{ => schedulers}/edm_multistep_dpm_solver.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename docs/source/en/api/{ => schedulers}/edm_multistep_dpm_solver.md (68%) diff --git a/docs/source/en/api/edm_multistep_dpm_solver.md b/docs/source/en/api/schedulers/edm_multistep_dpm_solver.md similarity index 68% rename from docs/source/en/api/edm_multistep_dpm_solver.md rename to docs/source/en/api/schedulers/edm_multistep_dpm_solver.md index 29e075266f30..4c6a8826dc49 100644 --- a/docs/source/en/api/edm_multistep_dpm_solver.md +++ b/docs/source/en/api/schedulers/edm_multistep_dpm_solver.md @@ -12,7 +12,7 @@ specific language governing permissions and limitations under the License. # EDMDPMSolverMultistepScheduler -`EDMDPMSolverMultistepScheduler` is a Karras formulation of `DPMSolverMultistep`, a multistep scheduler from [DPM-Solver: A Fast ODE Solver for Diffusion Probabilistic Model Sampling in Around 10 Steps](https://huggingface.co/papers/2206.00927) and [DPM-Solver++: Fast Solver for Guided Sampling of Diffusion Probabilistic Models](https://huggingface.co/papers/2211.01095) by Cheng Lu, Yuhao Zhou, Fan Bao, Jianfei Chen, Chongxuan Li, and Jun Zhu. +`EDMDPMSolverMultistepScheduler` is a [Karras formulation](https://huggingface.co/papers/2206.00364) of `DPMSolverMultistep`, a multistep scheduler from [DPM-Solver: A Fast ODE Solver for Diffusion Probabilistic Model Sampling in Around 10 Steps](https://huggingface.co/papers/2206.00927) and [DPM-Solver++: Fast Solver for Guided Sampling of Diffusion Probabilistic Models](https://huggingface.co/papers/2211.01095) 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.