feat: add advanced parameter for disable_intermediate_results (progress_gallery) (#1013)

* add advanced parameter for disable_intermediate_results

prevents gradio frontend process from clogging image output and updates in high throughput scenarios such as LCM with image number >= 4

* update disable_intermediate_results correctly

based on default and selected performance

* chore: add missing translations
This commit is contained in:
Manuel Schmid 2024-02-24 20:07:36 +01:00 committed by Manuel Schmid
parent 965364cd80
commit 7cfb5e742d
No known key found for this signature in database
GPG Key ID: 32C4F7569B40B84B
3 changed files with 15 additions and 4 deletions

View File

@ -342,6 +342,10 @@
"Forced Overwrite of Denoising Strength of \"Vary\"": "Forced Overwrite of Denoising Strength of \"Vary\"", "Forced Overwrite of Denoising Strength of \"Vary\"": "Forced Overwrite of Denoising Strength of \"Vary\"",
"Set as negative number to disable. For developer debugging.": "Set as negative number to disable. For developer debugging.", "Set as negative number to disable. For developer debugging.": "Set as negative number to disable. For developer debugging.",
"Forced Overwrite of Denoising Strength of \"Upscale\"": "Forced Overwrite of Denoising Strength of \"Upscale\"", "Forced Overwrite of Denoising Strength of \"Upscale\"": "Forced Overwrite of Denoising Strength of \"Upscale\"",
"Disable Preview": "Disable Preview",
"Disable preview during generation.": "Disable preview during generation.",
"Disable Intermediate Results": "Disable Intermediate Results",
"Disable intermediate results during generation, only show final gallery.": "Disable intermediate results during generation, only show final gallery.",
"Inpaint Engine": "Inpaint Engine", "Inpaint Engine": "Inpaint Engine",
"v1": "v1", "v1": "v1",
"Version of Fooocus inpaint model": "Version of Fooocus inpaint model", "Version of Fooocus inpaint model": "Version of Fooocus inpaint model",

View File

@ -147,6 +147,7 @@ def worker():
inpaint_additional_prompt = args.pop() inpaint_additional_prompt = args.pop()
inpaint_mask_image_upload = args.pop() inpaint_mask_image_upload = args.pop()
disable_preview = args.pop() disable_preview = args.pop()
disable_intermediate_results = args.pop()
adm_scaler_positive = args.pop() adm_scaler_positive = args.pop()
adm_scaler_negative = args.pop() adm_scaler_negative = args.pop()
adm_scaler_end = args.pop() adm_scaler_end = args.pop()
@ -842,7 +843,7 @@ def worker():
d.append(('Version', 'v' + fooocus_version.version)) d.append(('Version', 'v' + fooocus_version.version))
log(x, d) log(x, d)
yield_result(async_task, imgs, do_not_show_finished_images=len(tasks) == 1) yield_result(async_task, imgs, do_not_show_finished_images=len(tasks) == 1 or disable_intermediate_results)
except ldm_patched.modules.model_management.InterruptProcessingException as e: except ldm_patched.modules.model_management.InterruptProcessingException as e:
if async_task.last_stop == 'skip': if async_task.last_stop == 'skip':
print('User skipped') print('User skipped')

View File

@ -390,6 +390,10 @@ with shared.gradio_root:
info='Set as negative number to disable. For developer debugging.') info='Set as negative number to disable. For developer debugging.')
disable_preview = gr.Checkbox(label='Disable Preview', value=False, disable_preview = gr.Checkbox(label='Disable Preview', value=False,
info='Disable preview during generation.') info='Disable preview during generation.')
disable_intermediate_results = gr.Checkbox(label='Disable Intermediate Results',
value=modules.config.default_performance == 'Extreme Speed',
interactive=modules.config.default_performance != 'Extreme Speed',
info='Disable intermediate results during generation, only show final gallery.')
with gr.Tab(label='Control'): with gr.Tab(label='Control'):
debugging_cn_preprocessor = gr.Checkbox(label='Debug Preprocessors', value=False, debugging_cn_preprocessor = gr.Checkbox(label='Debug Preprocessors', value=False,
@ -474,12 +478,13 @@ with shared.gradio_root:
queue=False, show_progress=False) queue=False, show_progress=False)
performance_selection.change(lambda x: [gr.update(interactive=x != 'Extreme Speed')] * 11 + performance_selection.change(lambda x: [gr.update(interactive=x != 'Extreme Speed')] * 11 +
[gr.update(visible=x != 'Extreme Speed')] * 1, [gr.update(visible=x != 'Extreme Speed')] * 1 +
[gr.update(interactive=x != 'Extreme Speed', value=x == 'Extreme Speed', )] * 1,
inputs=performance_selection, inputs=performance_selection,
outputs=[ outputs=[
guidance_scale, sharpness, adm_scaler_end, adm_scaler_positive, guidance_scale, sharpness, adm_scaler_end, adm_scaler_positive,
adm_scaler_negative, refiner_switch, refiner_model, sampler_name, adm_scaler_negative, refiner_switch, refiner_model, sampler_name,
scheduler_name, adaptive_cfg, refiner_swap_method, negative_prompt scheduler_name, adaptive_cfg, refiner_swap_method, negative_prompt, disable_intermediate_results
], queue=False, show_progress=False) ], queue=False, show_progress=False)
advanced_checkbox.change(lambda x: gr.update(visible=x), advanced_checkbox, advanced_column, advanced_checkbox.change(lambda x: gr.update(visible=x), advanced_checkbox, advanced_column,
@ -529,7 +534,8 @@ with shared.gradio_root:
ctrls += [input_image_checkbox, current_tab] ctrls += [input_image_checkbox, current_tab]
ctrls += [uov_method, uov_input_image] ctrls += [uov_method, uov_input_image]
ctrls += [outpaint_selections, inpaint_input_image, inpaint_additional_prompt, inpaint_mask_image] ctrls += [outpaint_selections, inpaint_input_image, inpaint_additional_prompt, inpaint_mask_image]
ctrls += [disable_preview, adm_scaler_positive, adm_scaler_negative, adm_scaler_end, adaptive_cfg] ctrls += [disable_preview, disable_intermediate_results]
ctrls += [adm_scaler_positive, adm_scaler_negative, adm_scaler_end, adaptive_cfg]
ctrls += [sampler_name, scheduler_name] ctrls += [sampler_name, scheduler_name]
ctrls += [overwrite_step, overwrite_switch, overwrite_width, overwrite_height, overwrite_vary_strength] ctrls += [overwrite_step, overwrite_switch, overwrite_width, overwrite_height, overwrite_vary_strength]
ctrls += [overwrite_upscale_strength, mixing_image_prompt_and_vary_upscale, mixing_image_prompt_and_inpaint] ctrls += [overwrite_upscale_strength, mixing_image_prompt_and_vary_upscale, mixing_image_prompt_and_inpaint]