From 8e08ef0edc8e61627801523b901ff72252f37e57 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Sat, 7 Jun 2025 01:25:08 +0300 Subject: [PATCH] Fix VAE Tiling with non-default tile sizes --- CHANGELOG.md | 1 + modules/sd_models.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 12793fb72..996813e50 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ - Kandinsky V2.2 invalid attention processor - PixArt Sigma Small and Large loading - TAESD previews with PixArt + - VAE Tiling with non-default tile sizes ## Update for 2025-06-02 diff --git a/modules/sd_models.py b/modules/sd_models.py index 9faa12992..ce35d0aba 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -107,7 +107,7 @@ def set_vae_options(sd_model, vae=None, op:str='model', quiet:bool=False): if hasattr(sd_model, 'vae') and hasattr(sd_model.vae, 'config') and hasattr(sd_model.vae.config, 'sample_size') and isinstance(sd_model.vae.config.sample_size, int): if shared.opts.diffusers_vae_tile_size > 0: sd_model.vae.tile_sample_min_size = int(shared.opts.diffusers_vae_tile_size) - sd_model.vae.tile_latent_min_size = int(sd_model.vae.config.sample_size / (2 ** (len(sd_model.vae.config.block_out_channels) - 1))) + sd_model.vae.tile_latent_min_size = int(shared.opts.diffusers_vae_tile_size / (2 ** (len(sd_model.vae.config.block_out_channels) - 1))) if shared.opts.diffusers_vae_tile_overlap != 0.25: sd_model.vae.tile_overlap_factor = float(shared.opts.diffusers_vae_tile_overlap) shared.log.quiet(quiet, f'Setting {op}: component=VAE tiling=True tile={sd_model.vae.tile_sample_min_size} overlap={sd_model.vae.tile_overlap_factor}')