diff --git a/fooocus_version.py b/fooocus_version.py index f3e19ac..2c77261 100644 --- a/fooocus_version.py +++ b/fooocus_version.py @@ -1 +1 @@ -version = '2.1.32' +version = '2.1.33' diff --git a/modules/advanced_parameters.py b/modules/advanced_parameters.py index df2646a..57bcec5 100644 --- a/modules/advanced_parameters.py +++ b/modules/advanced_parameters.py @@ -2,8 +2,8 @@ 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, controlnet_softness, canny_low_threshold, canny_high_threshold, \ - freeu_enabled, freeu_b1, freeu_b2, freeu_s1, freeu_s2 = [None] * 23 + debugging_cn_preprocessor, controlnet_softness, canny_low_threshold, canny_high_threshold, inpaint_engine, \ + freeu_enabled, freeu_b1, freeu_b2, freeu_s1, freeu_s2 = [None] * 24 def set_all_advanced_parameters(*args): @@ -11,14 +11,14 @@ 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, controlnet_softness, canny_low_threshold, canny_high_threshold, \ + debugging_cn_preprocessor, controlnet_softness, canny_low_threshold, canny_high_threshold, inpaint_engine, \ freeu_enabled, freeu_b1, freeu_b2, freeu_s1, freeu_s2 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, controlnet_softness, canny_low_threshold, canny_high_threshold, \ + debugging_cn_preprocessor, controlnet_softness, canny_low_threshold, canny_high_threshold, inpaint_engine, \ freeu_enabled, freeu_b1, freeu_b2, freeu_s1, freeu_s2 = args return diff --git a/modules/async_worker.py b/modules/async_worker.py index 1cf16af..f57031f 100644 --- a/modules/async_worker.py +++ b/modules/async_worker.py @@ -172,7 +172,7 @@ def worker(): if isinstance(inpaint_image, np.ndarray) and isinstance(inpaint_mask, np.ndarray) \ and (np.any(inpaint_mask > 127) or len(outpaint_selections) > 0): progressbar(1, 'Downloading inpainter ...') - inpaint_head_model_path, inpaint_patch_model_path = modules.path.downloading_inpaint_models() + inpaint_head_model_path, inpaint_patch_model_path = modules.path.downloading_inpaint_models(advanced_parameters.inpaint_engine) loras += [(inpaint_patch_model_path, 1.0)] goals.append('inpaint') sampler_name = 'dpmpp_fooocus_2m_sde_inpaint_seamless' diff --git a/modules/path.py b/modules/path.py index f55b290..95c49ce 100644 --- a/modules/path.py +++ b/modules/path.py @@ -77,18 +77,30 @@ def update_all_model_names(): return -def downloading_inpaint_models(): +def downloading_inpaint_models(v): + assert v in ['v1', 'v2'] + load_file_from_url( url='https://huggingface.co/lllyasviel/fooocus_inpaint/resolve/main/fooocus_inpaint_head.pth', model_dir=inpaint_models_path, file_name='fooocus_inpaint_head.pth' ) - load_file_from_url( - url='https://huggingface.co/lllyasviel/fooocus_inpaint/resolve/main/inpaint.fooocus.patch', - model_dir=inpaint_models_path, - file_name='inpaint.fooocus.patch' - ) - return os.path.join(inpaint_models_path, 'fooocus_inpaint_head.pth'), os.path.join(inpaint_models_path, 'inpaint.fooocus.patch') + + if v == 'v1': + load_file_from_url( + url='https://huggingface.co/lllyasviel/fooocus_inpaint/resolve/main/inpaint.fooocus.patch', + model_dir=inpaint_models_path, + file_name='inpaint.fooocus.patch' + ) + return os.path.join(inpaint_models_path, 'fooocus_inpaint_head.pth'), os.path.join(inpaint_models_path, 'inpaint.fooocus.patch') + + if v == 'v2': + load_file_from_url( + url='https://huggingface.co/lllyasviel/fooocus_inpaint/resolve/main/inpaint_v2.fooocus.patch', + model_dir=inpaint_models_path, + file_name='inpaint_v2.fooocus.patch' + ) + return os.path.join(inpaint_models_path, 'fooocus_inpaint_head.pth'), os.path.join(inpaint_models_path, 'inpaint_v2.fooocus.patch') def downloading_controlnet_canny(): diff --git a/webui.py b/webui.py index 4f29b3e..83ffe9f 100644 --- a/webui.py +++ b/webui.py @@ -242,6 +242,9 @@ with shared.gradio_root: minimum=-1, maximum=1.0, step=0.001, value=-1, info='Set as negative number to disable. For developer debugging.') + inpaint_engine = gr.Dropdown(label='Inpaint Engine', value='v1', choices=['v1', 'v2'], + info='Version of Fooocus inpaint model') + with gr.Tab(label='Control Debug'): debugging_cn_preprocessor = gr.Checkbox(label='Debug Preprocessor of ControlNets', value=False) @@ -272,7 +275,8 @@ with shared.gradio_root: 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, controlnet_softness, canny_low_threshold, canny_high_threshold] + debugging_cn_preprocessor, controlnet_softness, canny_low_threshold, canny_high_threshold, + inpaint_engine] adps += freeu_ctrls def dev_mode_checked(r):