From 098d08cd22118536224abe24804bcb192b5ce5aa Mon Sep 17 00:00:00 2001 From: lllyasviel Date: Tue, 19 Sep 2023 18:30:57 -0700 Subject: [PATCH] fix gradio (#444) --- fooocus_version.py | 2 +- modules/async_worker.py | 7 ++++++- webui.py | 5 +++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/fooocus_version.py b/fooocus_version.py index 32e8bb9e..010b97a2 100644 --- a/fooocus_version.py +++ b/fooocus_version.py @@ -1 +1 @@ -version = '2.0.70' +version = '2.0.71' diff --git a/modules/async_worker.py b/modules/async_worker.py index 5f315ad4..ff0302bb 100644 --- a/modules/async_worker.py +++ b/modules/async_worker.py @@ -5,10 +5,11 @@ import torch buffer = [] outputs = [] +default_image = None def worker(): - global buffer, outputs + global buffer, outputs, default_image import time import shared @@ -45,6 +46,8 @@ def worker(): @torch.no_grad() @torch.inference_mode() def handler(task): + global default_image + prompt, negative_prompt, style_selections, performance_selction, \ aspect_ratios_selction, image_number, image_seed, sharpness, \ base_model_name, refiner_model_name, \ @@ -90,6 +93,7 @@ def worker(): progressbar(0, 'Image processing ...') if current_tab == 'uov' and uov_method != flags.disabled and uov_input_image is not None: uov_input_image = HWC3(uov_input_image) + default_image = uov_input_image if 'vary' in uov_method: if not image_is_generated_in_current_ui(uov_input_image, ui_width=width, ui_height=height): uov_input_image = resize_image(uov_input_image, width=width, height=height) @@ -167,6 +171,7 @@ def worker(): if current_tab == 'inpaint' and isinstance(inpaint_input_image, dict): inpaint_image = inpaint_input_image['image'] inpaint_mask = inpaint_input_image['mask'][:, :, 0] + default_image = inpaint_image if isinstance(inpaint_image, np.ndarray) and isinstance(inpaint_mask, np.ndarray) \ and (np.any(inpaint_mask > 127) or len(outpaint_selections) > 0): if len(outpaint_selections) > 0: diff --git a/webui.py b/webui.py index e5b9c5f9..ea2c2840 100644 --- a/webui.py +++ b/webui.py @@ -79,8 +79,9 @@ with shared.gradio_root: _js="(x) => {if(x){setTimeout(() => window.scrollTo({ top: window.scrollY + 500, behavior: 'smooth' }), 50);}else{setTimeout(() => window.scrollTo({ top: 0, behavior: 'smooth' }), 50);} return x}") current_tab = gr.Textbox(value='uov', visible=False) - uov_tab.select(lambda: 'uov', outputs=current_tab, queue=False) - inpaint_tab.select(lambda: 'inpaint', outputs=current_tab, queue=False) + + uov_tab.select(lambda: ['uov', worker.default_image], outputs=[current_tab, uov_input_image], queue=False) + inpaint_tab.select(lambda: ['inpaint', worker.default_image], outputs=[current_tab, inpaint_input_image], queue=False) with gr.Column(scale=0.5, visible=False) as right_col: with gr.Tab(label='Setting'):