From 05a1d68ef4d6ea39688c8fd8d4eb30d726eb6b94 Mon Sep 17 00:00:00 2001 From: Kevin Turner <83819+keturn@users.noreply.github.com> Date: Thu, 10 Nov 2022 15:28:22 -0800 Subject: [PATCH] web server: update image_progress callback for diffusers data --- backend/invoke_ai_web_server.py | 5 ++++- ldm/invoke/generator/diffusers_pipeline.py | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/backend/invoke_ai_web_server.py b/backend/invoke_ai_web_server.py index ac8edc6a32..d525cf87f8 100644 --- a/backend/invoke_ai_web_server.py +++ b/backend/invoke_ai_web_server.py @@ -19,6 +19,7 @@ from uuid import uuid4 from threading import Event from ldm.invoke.args import Args, APP_ID, APP_VERSION, calculate_init_img_hash +from ldm.invoke.generator.diffusers_pipeline import PipelineIntermediateState from ldm.invoke.pngwriter import PngWriter, retrieve_metadata from ldm.invoke.prompt_parser import split_weighted_subprompts from ldm.invoke.generator.inpaint import infill_methods @@ -847,7 +848,9 @@ class InvokeAIWebServer: init_img_path = self.get_image_path_from_url(init_img_url) generation_parameters["init_img"] = Image.open(init_img_path).convert('RGB') - def image_progress(sample, step): + def image_progress(progress_state: PipelineIntermediateState): + step = progress_state.step + sample = progress_state.latents if self.canceled.is_set(): raise CanceledException diff --git a/ldm/invoke/generator/diffusers_pipeline.py b/ldm/invoke/generator/diffusers_pipeline.py index bad21b0956..20caecada0 100644 --- a/ldm/invoke/generator/diffusers_pipeline.py +++ b/ldm/invoke/generator/diffusers_pipeline.py @@ -188,7 +188,7 @@ class StableDiffusionGeneratorPipeline(DiffusionPipeline): result = None for result in self.generate_from_embeddings( latents, text_embeddings, guidance_scale, run_id, **extra_step_kwargs): - if callback is not None: + if callback is not None and isinstance(result, PipelineIntermediateState): callback(result) if result is None: raise AssertionError("why was that an empty generator?")