From a65d0063967addb38f4c1995d8c8b65dab3cfa6a Mon Sep 17 00:00:00 2001 From: whning Date: Fri, 19 Jun 2026 14:35:43 +0800 Subject: [PATCH] =?UTF-8?q?Fix=20#13394:=20DDPMScheduler=20set=5Ftimesteps?= =?UTF-8?q?=20=E7=BC=BA=E5=B0=91=20num=5Finference=5Fsteps=20<=3D=200=20?= =?UTF-8?q?=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- b/src/diffusers/schedulers/scheduling_ddpm.py | 10 ++++++++++ src/diffusers/schedulers/scheduling_ddpm.py | 4 ++++ 2 files changed, 14 insertions(+) create mode 100644 b/src/diffusers/schedulers/scheduling_ddpm.py diff --git a/b/src/diffusers/schedulers/scheduling_ddpm.py b/b/src/diffusers/schedulers/scheduling_ddpm.py new file mode 100644 index 000000000000..ab75ed76a822 --- /dev/null +++ b/b/src/diffusers/schedulers/scheduling_ddpm.py @@ -0,0 +1,10 @@ + timesteps = np.array(timesteps, dtype=np.int64) + self.custom_timesteps = True + else: + if num_inference_steps <= 0: + raise ValueError( + f"`num_inference_steps` must be a positive integer, but got {num_inference_steps}." + ) + if num_inference_steps > self.config.num_train_timesteps: + raise ValueError( + f"`num_inference_steps`: {num_inference_steps} cannot be larger than `self.config.train_timesteps`:" diff --git a/src/diffusers/schedulers/scheduling_ddpm.py b/src/diffusers/schedulers/scheduling_ddpm.py index 972c46c6e930..b2a335cd2e05 100644 --- a/src/diffusers/schedulers/scheduling_ddpm.py +++ b/src/diffusers/schedulers/scheduling_ddpm.py @@ -308,6 +308,10 @@ def set_timesteps( timesteps = np.array(timesteps, dtype=np.int64) self.custom_timesteps = True else: + if num_inference_steps <= 0: + raise ValueError( + f"`num_inference_steps` must be a positive integer, but got {num_inference_steps}." + ) if num_inference_steps > self.config.num_train_timesteps: raise ValueError( f"`num_inference_steps`: {num_inference_steps} cannot be larger than `self.config.train_timesteps`:"