From e00b647eee3fa0fac196117eb10866541849c32a Mon Sep 17 00:00:00 2001 From: lllyasviel Date: Sun, 8 Oct 2023 14:33:16 -0700 Subject: [PATCH] improve result quality of control (#581) --- fooocus_version.py | 2 +- modules/advanced_parameters.py | 6 +++--- modules/patch.py | 6 +++--- webui.py | 7 ++++--- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/fooocus_version.py b/fooocus_version.py index faa5054d..05a2dd16 100644 --- a/fooocus_version.py +++ b/fooocus_version.py @@ -1 +1 @@ -version = '2.1.06' +version = '2.1.07' diff --git a/modules/advanced_parameters.py b/modules/advanced_parameters.py index 46884eac..d5f71401 100644 --- a/modules/advanced_parameters.py +++ b/modules/advanced_parameters.py @@ -2,7 +2,7 @@ adm_scaler_positive, adm_scaler_negative, adm_scaler_end, adaptive_cfg, sampler_ scheduler_name, overwrite_step, overwrite_switch, overwrite_width, overwrite_height, \ overwrite_vary_strength, overwrite_upscale_strength, \ mixing_image_prompt_and_vary_upscale, mixing_image_prompt_and_inpaint, \ - debugging_cn_preprocessor, disable_soft_cn = [None] * 16 + debugging_cn_preprocessor, controlnet_softness = [None] * 16 def set_all_advanced_parameters(*args): @@ -10,12 +10,12 @@ def set_all_advanced_parameters(*args): scheduler_name, overwrite_step, overwrite_switch, overwrite_width, overwrite_height, \ overwrite_vary_strength, overwrite_upscale_strength, \ mixing_image_prompt_and_vary_upscale, mixing_image_prompt_and_inpaint, \ - debugging_cn_preprocessor, disable_soft_cn + debugging_cn_preprocessor, controlnet_softness adm_scaler_positive, adm_scaler_negative, adm_scaler_end, adaptive_cfg, sampler_name, \ scheduler_name, overwrite_step, overwrite_switch, overwrite_width, overwrite_height, \ overwrite_vary_strength, overwrite_upscale_strength, \ mixing_image_prompt_and_vary_upscale, mixing_image_prompt_and_inpaint, \ - debugging_cn_preprocessor, disable_soft_cn = args + debugging_cn_preprocessor, controlnet_softness = args return diff --git a/modules/patch.py b/modules/patch.py index f376dea6..b10eaf8b 100644 --- a/modules/patch.py +++ b/modules/patch.py @@ -372,10 +372,10 @@ def patched_cldm_forward(self, x, hint, timesteps, context, y=None, **kwargs): h = self.middle_block(h, emb, context) outs.append(self.middle_block_out(h, emb, context)) - if not advanced_parameters.disable_soft_cn: + if advanced_parameters.controlnet_softness > 0: for i in range(10): - k = float(i) / 9.0 - outs[i] = outs[i] * (0.1 + 0.9 * k) + k = 1.0 - float(i) / 9.0 + outs[i] = outs[i] * (1.0 - advanced_parameters.controlnet_softness * k) return outs diff --git a/webui.py b/webui.py index f565445c..89b64308 100644 --- a/webui.py +++ b/webui.py @@ -104,7 +104,7 @@ with shared.gradio_root: ip_type = gr.Radio(label='Type', choices=flags.ip_list, value=flags.default_ip, container=False) ip_types.append(ip_type) ip_ctrls.append(ip_type) - + ip_type.change(lambda x: flags.default_parameters[x], inputs=[ip_type], outputs=[ip_stop, ip_weight], queue=False, show_progress=False) ip_ad_cols.append(ad_col) ip_advanced = gr.Checkbox(label='Advanced', value=False, container=False) @@ -246,13 +246,14 @@ with shared.gradio_root: debugging_cn_preprocessor = gr.Checkbox(label='Debug Preprocessor of ControlNets', value=False) - disable_soft_cn = gr.Checkbox(label='Do not use soft weighting in ControlNets', value=False) + controlnet_softness = gr.Slider(label='Softness of ControlNet', minimum=0.0, maximum=1.0, + step=0.001, value=0.25, info='Similar to the Control Mode in A1111 (use 0.0 to disable). ') adps = [adm_scaler_positive, adm_scaler_negative, adm_scaler_end, adaptive_cfg, sampler_name, scheduler_name, overwrite_step, overwrite_switch, overwrite_width, overwrite_height, overwrite_vary_strength, overwrite_upscale_strength, mixing_image_prompt_and_vary_upscale, mixing_image_prompt_and_inpaint, - debugging_cn_preprocessor, disable_soft_cn] + debugging_cn_preprocessor, controlnet_softness] def dev_mode_checked(r): return gr.update(visible=r)