From 739a8a592adac3bc5a04eb7b84ac57bd173e5198 Mon Sep 17 00:00:00 2001 From: lvmin Date: Fri, 13 Oct 2023 06:31:38 -0700 Subject: [PATCH] avoid vae denoise problem --- fooocus_version.py | 2 +- modules/default_pipeline.py | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/fooocus_version.py b/fooocus_version.py index 6c95e238..91bb13bb 100644 --- a/fooocus_version.py +++ b/fooocus_version.py @@ -1 +1 @@ -version = '2.1.55' +version = '2.1.56' diff --git a/modules/default_pipeline.py b/modules/default_pipeline.py index bae48996..b76dd6fd 100644 --- a/modules/default_pipeline.py +++ b/modules/default_pipeline.py @@ -314,6 +314,8 @@ def calculate_sigmas(sampler, model, scheduler, steps, denoise): @torch.no_grad() @torch.inference_mode() def process_diffusion(positive_cond, negative_cond, steps, switch, width, height, image_seed, callback, sampler_name, scheduler_name, latent=None, denoise=1.0, tiled=False, cfg_scale=7.0, refiner_swap_method='joint'): + global final_unet, final_refiner_unet + assert refiner_swap_method in ['joint', 'separate', 'vae', 'upscale'] if final_refiner_unet is not None: @@ -321,6 +323,12 @@ def process_diffusion(positive_cond, negative_cond, steps, switch, width, height and refiner_swap_method != 'upscale': refiner_swap_method = 'vae' + if refiner_swap_method == 'vae' and denoise < 0.95: + # VAE swap only support full denoise + refiner_swap_method = 'joint' + # Disable refiner to avoid SD15 in joint swap + final_refiner_unet = None + print(f'[Sampler] refiner_swap_method = {refiner_swap_method}') if latent is None: