Skip to content

Commit af6ebda

Browse files
committed
add incremental SD
1 parent cee3aa0 commit af6ebda

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,19 @@ def __call__(
253253
else:
254254
latents = self.scheduler.step(noise_pred, t, latents, **extra_step_kwargs).prev_sample
255255

256+
if "incremental_update" in kwargs:
257+
incremental_update_fn = kwargs.pop("incremental_update")
258+
incremental_update_freq = kwargs.pop("incremental_update_freq")
259+
if i % incremental_update_freq == 0:
260+
# scale and decode the image latents with vae
261+
latents_c = 1 / 0.18215 * latents
262+
image = self.vae.decode(latents_c).sample
263+
264+
image = (image / 2 + 0.5).clamp(0, 1)
265+
image = image.cpu().permute(0, 2, 3, 1).numpy()
266+
image = self.numpy_to_pil(image)
267+
incremental_update_fn(image)
268+
256269
# scale and decode the image latents with vae
257270
latents = 1 / 0.18215 * latents
258271
image = self.vae.decode(latents).sample

0 commit comments

Comments
 (0)