ling
This commit is contained in:
parent
906dfa1331
commit
296b1da278
|
|
@ -1 +1 @@
|
||||||
version = '2.1.704'
|
version = '2.1.705'
|
||||||
|
|
|
||||||
|
|
@ -320,20 +320,26 @@ def calculate_sigmas(sampler, model, scheduler, steps, denoise):
|
||||||
@torch.no_grad()
|
@torch.no_grad()
|
||||||
@torch.inference_mode()
|
@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'):
|
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
|
global final_unet, final_refiner_unet, final_vae, final_refiner_vae
|
||||||
|
|
||||||
assert refiner_swap_method in ['joint', 'separate', 'vae', 'upscale']
|
assert refiner_swap_method in ['joint', 'separate', 'vae', 'upscale']
|
||||||
|
|
||||||
if final_refiner_unet is not None:
|
refiner_use_different_vae = final_refiner_vae is not None and final_refiner_unet is not None
|
||||||
if isinstance(final_refiner_unet.model.latent_format, fcbh.latent_formats.SD15) \
|
|
||||||
and refiner_swap_method != 'upscale':
|
|
||||||
refiner_swap_method = 'vae'
|
|
||||||
|
|
||||||
if refiner_swap_method == 'vae' and denoise < 0.95:
|
if refiner_swap_method == 'upscale':
|
||||||
# VAE swap only support full denoise
|
if not refiner_use_different_vae:
|
||||||
refiner_swap_method = 'joint'
|
refiner_swap_method = 'joint'
|
||||||
# Disable refiner to avoid SD15 in joint swap
|
else:
|
||||||
final_refiner_unet = None
|
if refiner_use_different_vae:
|
||||||
|
if denoise > 0.95:
|
||||||
|
refiner_swap_method = 'vae'
|
||||||
|
else:
|
||||||
|
# VAE swap only support full denoise
|
||||||
|
# Disable refiner to avoid SD15 in joint/separate swap
|
||||||
|
final_refiner_unet = None
|
||||||
|
final_refiner_vae = None
|
||||||
|
|
||||||
|
print(f'[Sampler] refiner_swap_method = {refiner_swap_method}')
|
||||||
|
|
||||||
if latent is None:
|
if latent is None:
|
||||||
empty_latent = core.generate_empty_latent(width=width, height=height, batch_size=1)
|
empty_latent = core.generate_empty_latent(width=width, height=height, batch_size=1)
|
||||||
|
|
@ -351,12 +357,6 @@ def process_diffusion(positive_cond, negative_cond, steps, switch, width, height
|
||||||
sigma_min, sigma_max, seed=image_seed, cpu=False)
|
sigma_min, sigma_max, seed=image_seed, cpu=False)
|
||||||
|
|
||||||
decoded_latent = None
|
decoded_latent = None
|
||||||
refiner_use_different_vae = final_refiner_vae is not None and final_refiner_unet is not None
|
|
||||||
|
|
||||||
if refiner_swap_method == 'upscale' and not refiner_use_different_vae:
|
|
||||||
refiner_swap_method = 'joint'
|
|
||||||
|
|
||||||
print(f'[Sampler] refiner_swap_method = {refiner_swap_method}')
|
|
||||||
|
|
||||||
if refiner_swap_method == 'joint':
|
if refiner_swap_method == 'joint':
|
||||||
sampled_latent = core.ksampler(
|
sampled_latent = core.ksampler(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue