Skip to content

Commit 2cf2fa9

Browse files
committed
Add DPM-Solver Multistep Inverse Scheduler
1 parent 79c0e24 commit 2cf2fa9

File tree

6 files changed

+675
-0
lines changed

6 files changed

+675
-0
lines changed

docs/source/en/_toctree.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,8 @@
250250
title: Euler scheduler
251251
- local: api/schedulers/heun
252252
title: Heun Scheduler
253+
- local: api/schedulers/multistep_dpm_solver_inverse
254+
title: Inverse Multistep DPM-Solver
253255
- local: api/schedulers/ipndm
254256
title: IPNDM
255257
- local: api/schedulers/lms_discrete
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<!--Copyright 2023 The HuggingFace Team. All rights reserved.
2+
3+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
4+
the License. You may obtain a copy of the License at
5+
6+
http://www.apache.org/licenses/LICENSE-2.0
7+
8+
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
9+
an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
10+
specific language governing permissions and limitations under the License.
11+
-->
12+
13+
# Inverse Multistep DPM-Solver (DPMSolverMultistepInverse)
14+
15+
## Overview
16+
17+
This scheduler is the inverted scheduler of [DPM-Solver: A Fast ODE Solver for Diffusion Probabilistic Model Sampling in Around 10 Steps](https://arxiv.org/abs/2206.00927) and [DPM-Solver++: Fast Solver for Guided Sampling of Diffusion Probabilistic Models
18+
](https://arxiv.org/abs/2211.01095) by Cheng Lu, Yuhao Zhou, Fan Bao, Jianfei Chen, Chongxuan Li, and Jun Zhu.
19+
The implementation is mostly based on the DDIM inversion definition of [Null-text Inversion for Editing Real Images using Guided Diffusion Models](https://arxiv.org/pdf/2211.09794.pdf) and the ad-hoc notebook implementation for DiffEdit latent inversion [here](https://github.com/Xiang-cd/DiffEdit-stable-diffusion/blob/main/diffedit.ipynb).
20+
21+
## DPMSolverMultistepInverseScheduler
22+
[[autodoc]] DPMSolverMultistepInverseScheduler

src/diffusers/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@
7676
DDIMScheduler,
7777
DDPMScheduler,
7878
DEISMultistepScheduler,
79+
DPMSolverMultistepInverseScheduler,
7980
DPMSolverMultistepScheduler,
8081
DPMSolverSinglestepScheduler,
8182
EulerAncestralDiscreteScheduler,

src/diffusers/schedulers/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
from .scheduling_ddpm import DDPMScheduler
3434
from .scheduling_deis_multistep import DEISMultistepScheduler
3535
from .scheduling_dpmsolver_multistep import DPMSolverMultistepScheduler
36+
from .scheduling_dpmsolver_multistep_inverse import DPMSolverMultistepInverseScheduler
3637
from .scheduling_dpmsolver_singlestep import DPMSolverSinglestepScheduler
3738
from .scheduling_euler_ancestral_discrete import EulerAncestralDiscreteScheduler
3839
from .scheduling_euler_discrete import EulerDiscreteScheduler

0 commit comments

Comments
 (0)