Skip to content

Commit bbf70c8

Browse files
authored
Fix truthy-ness condition in pipelines that use denoising_start (huggingface#6912)
* fix denoising start * fix tests * remove debug
1 parent 738c986 commit bbf70c8

File tree

6 files changed

+15
-12
lines changed

6 files changed

+15
-12
lines changed

examples/community/lpw_stable_diffusion_xl.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1766,15 +1766,15 @@ def __call__(
17661766

17671767
# 4. Prepare timesteps
17681768
def denoising_value_valid(dnv):
1769-
return isinstance(self.denoising_end, float) and 0 < dnv < 1
1769+
return isinstance(dnv, float) and 0 < dnv < 1
17701770

17711771
timesteps, num_inference_steps = retrieve_timesteps(self.scheduler, num_inference_steps, device, timesteps)
17721772
if image is not None:
17731773
timesteps, num_inference_steps = self.get_timesteps(
17741774
num_inference_steps,
17751775
strength,
17761776
device,
1777-
denoising_start=self.denoising_start if denoising_value_valid else None,
1777+
denoising_start=self.denoising_start if denoising_value_valid(self.denoising_start) else None,
17781778
)
17791779

17801780
# check that number of inference steps is not < 1 - as this doesn't make sense

examples/community/pipeline_sdxl_style_aligned.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1769,7 +1769,7 @@ def __call__(
17691769

17701770
# 4. Prepare timesteps
17711771
def denoising_value_valid(dnv):
1772-
return isinstance(self.denoising_end, float) and 0 < dnv < 1
1772+
return isinstance(dnv, float) and 0 < dnv < 1
17731773

17741774
timesteps, num_inference_steps = retrieve_timesteps(self.scheduler, num_inference_steps, device, timesteps)
17751775

@@ -1778,7 +1778,7 @@ def denoising_value_valid(dnv):
17781778
num_inference_steps,
17791779
strength,
17801780
device,
1781-
denoising_start=self.denoising_start if denoising_value_valid else None,
1781+
denoising_start=self.denoising_start if denoising_value_valid(self.denoising_start) else None,
17821782
)
17831783

17841784
# check that number of inference steps is not < 1 - as this doesn't make sense

examples/community/pipeline_stable_diffusion_xl_controlnet_adapter_inpaint.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1563,14 +1563,14 @@ def __call__(
15631563

15641564
# 4. set timesteps
15651565
def denoising_value_valid(dnv):
1566-
return isinstance(denoising_end, float) and 0 < dnv < 1
1566+
return isinstance(dnv, float) and 0 < dnv < 1
15671567

15681568
self.scheduler.set_timesteps(num_inference_steps, device=device)
15691569
timesteps, num_inference_steps = self.get_timesteps(
15701570
num_inference_steps,
15711571
strength,
15721572
device,
1573-
denoising_start=denoising_start if denoising_value_valid else None,
1573+
denoising_start=denoising_start if denoising_value_valid(denoising_start) else None,
15741574
)
15751575
# check that number of inference steps is not < 1 - as this doesn't make sense
15761576
if num_inference_steps < 1:

src/diffusers/pipelines/controlnet/pipeline_controlnet_inpaint_sd_xl.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1477,11 +1477,14 @@ def __call__(
14771477

14781478
# 4. set timesteps
14791479
def denoising_value_valid(dnv):
1480-
return isinstance(denoising_end, float) and 0 < dnv < 1
1480+
return isinstance(dnv, float) and 0 < dnv < 1
14811481

14821482
self.scheduler.set_timesteps(num_inference_steps, device=device)
14831483
timesteps, num_inference_steps = self.get_timesteps(
1484-
num_inference_steps, strength, device, denoising_start=denoising_start if denoising_value_valid else None
1484+
num_inference_steps,
1485+
strength,
1486+
device,
1487+
denoising_start=denoising_start if denoising_value_valid(denoising_start) else None,
14851488
)
14861489
# check that number of inference steps is not < 1 - as this doesn't make sense
14871490
if num_inference_steps < 1:

src/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_img2img.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1315,14 +1315,14 @@ def __call__(
13151315

13161316
# 5. Prepare timesteps
13171317
def denoising_value_valid(dnv):
1318-
return isinstance(self.denoising_end, float) and 0 < dnv < 1
1318+
return isinstance(dnv, float) and 0 < dnv < 1
13191319

13201320
timesteps, num_inference_steps = retrieve_timesteps(self.scheduler, num_inference_steps, device, timesteps)
13211321
timesteps, num_inference_steps = self.get_timesteps(
13221322
num_inference_steps,
13231323
strength,
13241324
device,
1325-
denoising_start=self.denoising_start if denoising_value_valid else None,
1325+
denoising_start=self.denoising_start if denoising_value_valid(self.denoising_start) else None,
13261326
)
13271327
latent_timestep = timesteps[:1].repeat(batch_size * num_images_per_prompt)
13281328

src/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_inpaint.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1581,14 +1581,14 @@ def __call__(
15811581

15821582
# 4. set timesteps
15831583
def denoising_value_valid(dnv):
1584-
return isinstance(self.denoising_end, float) and 0 < dnv < 1
1584+
return isinstance(dnv, float) and 0 < dnv < 1
15851585

15861586
timesteps, num_inference_steps = retrieve_timesteps(self.scheduler, num_inference_steps, device, timesteps)
15871587
timesteps, num_inference_steps = self.get_timesteps(
15881588
num_inference_steps,
15891589
strength,
15901590
device,
1591-
denoising_start=self.denoising_start if denoising_value_valid else None,
1591+
denoising_start=self.denoising_start if denoising_value_valid(self.denoising_start) else None,
15921592
)
15931593
# check that number of inference steps is not < 1 - as this doesn't make sense
15941594
if num_inference_steps < 1:

0 commit comments

Comments
 (0)