From 42a045e8e634468e8783bbbc3124d8148e4795a4 Mon Sep 17 00:00:00 2001 From: Bryce Drennan Date: Wed, 27 Dec 2023 21:52:37 -0800 Subject: [PATCH] feature: support sdxl (#431) - adds support for (SDXL)[https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0] - adds sliced encoding/decoding to refiners sdxl pipeline - doesn't support inpainting, controlnets - monkeypatches self_attention_guidance to use sliced attention - adds a bunch of model weight translation utilities and weightmaps - add [opendalle 1.1](https://huggingface.co/dataautogpt3/OpenDalleV1.1) - change default model to opendalle - fix: better handle special characters in path inputs on command line **todo** - add tests --- docs/todo.md | 11 +- imaginairy/api/generate.py | 9 +- imaginairy/api/generate_refiners.py | 114 +- imaginairy/cli/shared.py | 4 +- imaginairy/config.py | 31 +- imaginairy/modules/refiners_sd.py | 254 +++- imaginairy/schema.py | 19 +- imaginairy/utils/__init__.py | 18 +- imaginairy/utils/feather_tile.py | 13 +- imaginairy/utils/log_utils.py | 47 +- imaginairy/utils/model_manager.py | 170 ++- imaginairy/weight_management/conversion.py | 22 +- imaginairy/weight_management/translation.py | 206 ++++ imaginairy/weight_management/translators.py | 115 ++ imaginairy/weight_management/utils.py | 2 +- .../Diffusers-AutoencoderKL-SD.weightmap.json | 174 +++ .../Diffusers-Controlnet-SD15.weightmap.json | 199 ++++ .../Diffusers-IPAdapter-SD15.weightmap.json | 44 + .../Diffusers-IPAdapter-SDXL.weightmap.json | 152 +++ ...iffusers-IPAdapterPlus-SD15.weightmap.json | 96 ++ ...iffusers-IPAdapterPlus-SDXL.weightmap.json | 204 ++++ .../Diffusers-T2IAdapter-SD15.weightmap.json | 30 + .../Diffusers-T2IAdapter-SDXL.weightmap.json | 28 + .../Diffusers-UNet-SD15.weightmap.json | 399 +++++++ .../Diffusers-UNet-SDXL.weightmap.json | 1058 +++++++++++++++++ .../InformativeDrawings.weightmap.json | 20 + ...rmers-ClipImageEncoder-SD21.weightmap.json | 275 +++++ ...ransformers-ClipTextEncoder.weightmap.json | 19 + ...trolnet-1-1_all_diffusers_TO_refiners.json | 0 ...-5_clipencoderH_diffusers_TO_refiners.json | 0 ...ffusion-1-5_text_compvis_TO_diffusers.json | 0 ...ffusion-1-5_text_diffusers_TO_compvis.json | 0 ...fusion-1-5_text_diffusers_TO_refiners.json | 0 ...ffusion-1-5_unet_compvis_TO_diffusers.json | 0 ...ffusion-1-5_unet_diffusers_TO_compvis.json | 0 ...fusion-1-5_unet_diffusers_TO_refiners.json | 0 ...iffusion-1-5_vae_compvis_TO_diffusers.json | 0 ...iffusion-1-5_vae_diffusers_TO_compvis.json | 0 ...ffusion-1-5_vae_diffusers_TO_refiners.json | 0 tests/data/cuda-tests.csv | 35 + tests/{modules => test_api}/__init__.py | 0 .../test_generate.py} | 5 +- tests/test_http_app/test_routes.py | 2 + .../diffusion => test_modules}/__init__.py | 0 tests/test_modules/diffusion/__init__.py | 0 .../diffusion/test_model.py | 0 .../test_autoencoders.py | 0 tests/test_modules/test_refiners_sd.py | 2 + tests/test_utils/test_model_manager.py | 3 - 49 files changed, 3623 insertions(+), 157 deletions(-) create mode 100644 imaginairy/weight_management/translation.py create mode 100644 imaginairy/weight_management/translators.py create mode 100644 imaginairy/weight_management/weight_maps/Diffusers-AutoencoderKL-SD.weightmap.json create mode 100644 imaginairy/weight_management/weight_maps/Diffusers-Controlnet-SD15.weightmap.json create mode 100644 imaginairy/weight_management/weight_maps/Diffusers-IPAdapter-SD15.weightmap.json create mode 100644 imaginairy/weight_management/weight_maps/Diffusers-IPAdapter-SDXL.weightmap.json create mode 100644 imaginairy/weight_management/weight_maps/Diffusers-IPAdapterPlus-SD15.weightmap.json create mode 100644 imaginairy/weight_management/weight_maps/Diffusers-IPAdapterPlus-SDXL.weightmap.json create mode 100644 imaginairy/weight_management/weight_maps/Diffusers-T2IAdapter-SD15.weightmap.json create mode 100644 imaginairy/weight_management/weight_maps/Diffusers-T2IAdapter-SDXL.weightmap.json create mode 100644 imaginairy/weight_management/weight_maps/Diffusers-UNet-SD15.weightmap.json create mode 100644 imaginairy/weight_management/weight_maps/Diffusers-UNet-SDXL.weightmap.json create mode 100644 imaginairy/weight_management/weight_maps/InformativeDrawings.weightmap.json create mode 100644 imaginairy/weight_management/weight_maps/Transformers-ClipImageEncoder-SD21.weightmap.json create mode 100644 imaginairy/weight_management/weight_maps/Transformers-ClipTextEncoder.weightmap.json rename imaginairy/weight_management/{maps => weight_maps}/controlnet-1-1_all_diffusers_TO_refiners.json (100%) rename imaginairy/weight_management/{maps => weight_maps}/stable-diffusion-1-5_clipencoderH_diffusers_TO_refiners.json (100%) rename imaginairy/weight_management/{maps => weight_maps}/stable-diffusion-1-5_text_compvis_TO_diffusers.json (100%) rename imaginairy/weight_management/{maps => weight_maps}/stable-diffusion-1-5_text_diffusers_TO_compvis.json (100%) rename imaginairy/weight_management/{maps => weight_maps}/stable-diffusion-1-5_text_diffusers_TO_refiners.json (100%) rename imaginairy/weight_management/{maps => weight_maps}/stable-diffusion-1-5_unet_compvis_TO_diffusers.json (100%) rename imaginairy/weight_management/{maps => weight_maps}/stable-diffusion-1-5_unet_diffusers_TO_compvis.json (100%) rename imaginairy/weight_management/{maps => weight_maps}/stable-diffusion-1-5_unet_diffusers_TO_refiners.json (100%) rename imaginairy/weight_management/{maps => weight_maps}/stable-diffusion-1-5_vae_compvis_TO_diffusers.json (100%) rename imaginairy/weight_management/{maps => weight_maps}/stable-diffusion-1-5_vae_diffusers_TO_compvis.json (100%) rename imaginairy/weight_management/{maps => weight_maps}/stable-diffusion-1-5_vae_diffusers_TO_refiners.json (100%) rename tests/{modules => test_api}/__init__.py (100%) rename tests/{test_api.py => test_api/test_generate.py} (99%) rename tests/{modules/diffusion => test_modules}/__init__.py (100%) create mode 100644 tests/test_modules/diffusion/__init__.py rename tests/{modules => test_modules}/diffusion/test_model.py (100%) rename tests/{modules => test_modules}/test_autoencoders.py (100%) create mode 100644 tests/test_modules/test_refiners_sd.py diff --git a/docs/todo.md b/docs/todo.md index 9951686..2e32d44 100644 --- a/docs/todo.md +++ b/docs/todo.md @@ -11,22 +11,27 @@ - ✅ make cli run faster again - ✅ add tests for cli commands - ✅ add type checker + - ✅ add interface for loading diffusers weights + - ✅ SDXL support + - sdxl inpainting + - t2i adapters + - embedding inputs - only output the main image unless some flag is set - allow selection of output video format - chain multiple operations together imggen => videogen - https://github.com/pallets/click/tree/main/examples/imagepipe - - add interface for loading diffusers weights + - https://huggingface.co/playgroundai/playground-v2-1024px-aesthetic - make sure terminal output on windows doesn't suck - add method to show cache size - add method to clear model cache - add method to clear cached items not recently used (does diffusers have one?) - create actual documentation - - SDXL Support + #### Investigate - + - textdiffusers https://jingyechen.github.io/textdiffuser2/ - Scalecrafter https://yingqinghe.github.io/scalecrafter/ - Fast diffusion with LCM Lora https://huggingface.co/latent-consistency/lcm-lora-sdv1-5/tree/main - 3d diffusion https://huggingface.co/stabilityai/stable-zero123 diff --git a/imaginairy/api/generate.py b/imaginairy/api/generate.py index d938557..127e87b 100755 --- a/imaginairy/api/generate.py +++ b/imaginairy/api/generate.py @@ -191,14 +191,15 @@ def imagine( precision ), fix_torch_nn_layer_norm(), fix_torch_group_norm(): for i, prompt in enumerate(prompts): + concrete_prompt = prompt.make_concrete_copy() logger.info( - f"🖼 Generating {i + 1}/{num_prompts}: {prompt.prompt_description()}" + f"🖼 Generating {i + 1}/{num_prompts}: {concrete_prompt.prompt_description()}" ) for attempt in range(unsafe_retry_count + 1): - if attempt > 0 and isinstance(prompt.seed, int): - prompt.seed += 100_000_000 + attempt + if attempt > 0 and isinstance(concrete_prompt.seed, int): + concrete_prompt.seed += 100_000_000 + attempt result = generate_single_image( - prompt, + concrete_prompt, debug_img_callback=debug_img_callback, progress_img_callback=progress_img_callback, progress_img_interval_steps=progress_img_interval_steps, diff --git a/imaginairy/api/generate_refiners.py b/imaginairy/api/generate_refiners.py index 2924872..4b57b3e 100644 --- a/imaginairy/api/generate_refiners.py +++ b/imaginairy/api/generate_refiners.py @@ -1,10 +1,10 @@ """Functions for generating refined images""" import logging -from typing import List, Optional from imaginairy.config import CONTROL_CONFIG_SHORTCUTS -from imaginairy.schema import ControlInput, ImaginePrompt, MaskMode, WeightedPrompt +from imaginairy.schema import ControlInput, ImaginePrompt, MaskMode +from imaginairy.utils import clear_gpu_cache logger = logging.getLogger(__name__) @@ -96,14 +96,6 @@ def generate_single_image( ) as lc: sd.set_tile_mode(prompt.tile_mode) - clip_text_embedding = _calc_conditioning( - positive_prompts=prompt.prompts, - negative_prompts=prompt.negative_prompt, - positive_conditioning=prompt.conditioning, - text_encoder=sd.clip_text_encoder, - ) - clip_text_embedding = clip_text_embedding.to(device=sd.device, dtype=sd.dtype) - result_images: dict[str, torch.Tensor | None | Image.Image] = {} progress_latents: list[torch.Tensor] = [] first_step = 0 @@ -151,7 +143,7 @@ def generate_single_image( max_width=prompt.width, ) init_image_t = pillow_img_to_torch_image(init_image) - init_image_t = init_image_t.to(device=sd.device, dtype=sd.dtype) + init_image_t = init_image_t.to(device=sd.lda.device, dtype=sd.lda.dtype) init_latent = sd.lda.encode(init_image_t) shape = list(init_latent.shape) @@ -233,12 +225,15 @@ def generate_single_image( log_img(comp_img_orig, "comp_image") log_img(comp_image, "comp_image_upscaled") comp_image_t = pillow_img_to_torch_image(comp_image) - comp_image_t = comp_image_t.to(sd.device, dtype=sd.dtype) + comp_image_t = comp_image_t.to(sd.lda.device, dtype=sd.lda.dtype) init_latent = sd.lda.encode(comp_image_t) - - compose_control_inputs: list[ControlInput] = [ - ControlInput(mode="details", image=comp_image, strength=1), - ] + compose_control_inputs: list[ControlInput] + if prompt.model_weights.architecture.primary_alias == "sdxl": + compose_control_inputs = [] + else: + compose_control_inputs = [ + ControlInput(mode="details", image=comp_image, strength=1), + ] for control_input in compose_control_inputs: ( controlnet, @@ -255,8 +250,10 @@ def generate_single_image( controlnets.append((controlnet, control_image_t)) for controlnet, control_image_t in controlnets: + msg = f"Injecting controlnet {controlnet.name}. setting to device: {sd.unet.device}, dtype: {sd.unet.dtype}" + print(msg) controlnet.set_controlnet_condition( - control_image_t.to(device=sd.device, dtype=sd.dtype) + control_image_t.to(device=sd.unet.device, dtype=sd.unet.dtype) ) controlnet.inject() if prompt.solver_type.lower() == SolverName.DPMPP: @@ -275,6 +272,12 @@ def generate_single_image( mask=ImageOps.invert(mask_image), latents_size=shape[-2:], ) + sd.target_image_latents = sd.target_image_latents.to( + dtype=sd.unet.dtype, device=sd.unet.device + ) + sd.mask_latents = sd.mask_latents.to( + dtype=sd.unet.dtype, device=sd.unet.device + ) if init_latent is not None: noise_step = noise_step if noise_step is not None else first_step @@ -285,30 +288,37 @@ def generate_single_image( x=init_latent, noise=noise, step=sd.steps[noise_step] ) - x = noised_latent - x = x.to(device=sd.device, dtype=sd.dtype) + text_conditioning_kwargs = sd.calculate_text_conditioning_kwargs( + positive_prompts=prompt.prompts, + negative_prompts=prompt.negative_prompt, + positive_conditioning_override=prompt.conditioning, + ) - # if "cuda" in str(sd.lda.device): - # sd.lda.to("cpu") + for k, v in text_conditioning_kwargs.items(): + text_conditioning_kwargs[k] = v.to( + device=sd.unet.device, dtype=sd.unet.dtype + ) + x = noised_latent + x = x.to(device=sd.unet.device, dtype=sd.unet.dtype) clear_gpu_cache() - # print(f"moving unet to {sd.device}") - # sd.unet.to(device=sd.device, dtype=sd.dtype) + for step in tqdm(sd.steps[first_step:], bar_format=" {l_bar}{bar}{r_bar}"): log_latent(x, "noisy_latent") x = sd( x, step=step, - clip_text_embedding=clip_text_embedding, condition_scale=prompt.prompt_strength, + **text_conditioning_kwargs, ) - + sd.unet.set_context(context="self_attention_map", value={}) clear_gpu_cache() logger.debug("Decoding image") if x.device != sd.lda.device: sd.lda.to(x.device) clear_gpu_cache() - gen_img = sd.lda.decode_latents(x) + + gen_img = sd.lda.decode_latents(x.to(dtype=sd.lda.dtype)) if mask_image_orig and init_image: result_images["pre-reconstitution"] = gen_img @@ -391,56 +401,6 @@ def generate_single_image( return result -def _prompts_to_embeddings(prompts, text_encoder): - import torch - - if not prompts: - prompts = [WeightedPrompt(text="")] - - total_weight = sum(wp.weight for wp in prompts) - if str(text_encoder.device) == "cpu": - text_encoder = text_encoder.to(dtype=torch.float32) - conditioning = sum( - text_encoder(wp.text) * (wp.weight / total_weight) for wp in prompts - ) - - return conditioning - - -def _calc_conditioning( - positive_prompts: Optional[List[WeightedPrompt]], - negative_prompts: Optional[List[WeightedPrompt]], - positive_conditioning, - text_encoder, -): - import torch - - from imaginairy.utils.log_utils import log_conditioning - - # need to expand if doing batches - neutral_conditioning = _prompts_to_embeddings(negative_prompts, text_encoder) - log_conditioning(neutral_conditioning, "neutral conditioning") - - if positive_conditioning is None: - positive_conditioning = _prompts_to_embeddings(positive_prompts, text_encoder) - log_conditioning(positive_conditioning, "positive conditioning") - - clip_text_embedding = torch.cat( - tensors=(neutral_conditioning, positive_conditioning), dim=0 - ) - return clip_text_embedding - - -def clear_gpu_cache(): - import gc - - import torch - - gc.collect() - if torch.cuda.is_available(): - torch.cuda.empty_cache() - - def prep_control_input( control_input: ControlInput, sd, init_image_t, fit_width, fit_height ): @@ -521,7 +481,9 @@ def prep_control_input( target=sd.unet, weights_location=control_config.weights_location, ) + controlnet.set_scale(control_input.strength) + control_image_t = control_image_t.to(device=sd.unet.device, dtype=sd.unet.dtype) return controlnet, control_image_t, control_image_disp diff --git a/imaginairy/cli/shared.py b/imaginairy/cli/shared.py index 8aefff1..1bf22d9 100644 --- a/imaginairy/cli/shared.py +++ b/imaginairy/cli/shared.py @@ -101,10 +101,10 @@ def _imagine_cmd( from imaginairy.utils import glob_expand_paths - num_prexpaned_init_images = len(init_images) + num_prexpanded_init_images = len(init_images) init_images = glob_expand_paths(init_images) - if len(init_images) < num_prexpaned_init_images: + if len(init_images) < num_prexpanded_init_images: msg = f"Could not find any images matching the glob pattern(s) {init_image}. Are you sure the file(s) exists?" raise ValueError(msg) diff --git a/imaginairy/config.py b/imaginairy/config.py index bf308f1..b4a9675 100644 --- a/imaginairy/config.py +++ b/imaginairy/config.py @@ -4,7 +4,6 @@ from dataclasses import dataclass from typing import Any, List DEFAULT_MODEL_WEIGHTS = "sd15" -DEFAULT_MODEL_ARCHITECTURE = "sd15" DEFAULT_SOLVER = "ddim" DEFAULT_NEGATIVE_PROMPT = ( @@ -25,6 +24,11 @@ class ModelArchitecture: defaults: dict[str, Any] config_path: str | None = None + @property + def primary_alias(self): + if self.aliases: + return self.aliases[0] + MODEL_ARCHITECTURES = [ ModelArchitecture( @@ -52,7 +56,7 @@ MODEL_ARCHITECTURES = [ name="Stable Diffusion XL", aliases=["sdxl", "sd-xl"], output_modality="image", - defaults={"size": "512"}, + defaults={"size": "1024"}, ), ModelArchitecture( name="Stable Video Diffusion", @@ -110,7 +114,7 @@ class ModelWeightsConfig: if isinstance(self.architecture, str): self.architecture = MODEL_ARCHITECTURE_LOOKUP[self.architecture] if not isinstance(self.architecture, ModelArchitecture): - msg = f"You must specify an architecture {self.architecture}" + msg = f"zYou must specify an architecture {self.architecture}" raise ValueError(msg) # noqa @@ -164,6 +168,27 @@ MODEL_WEIGHT_CONFIGS = [ weights_location="https://huggingface.co/nitrosocke/redshift-diffusion/tree/80837fe18df05807861ab91c3bad3693c9342e4c/", defaults={"negative_prompt": DEFAULT_NEGATIVE_PROMPT}, ), + # SDXL Weights + ModelWeightsConfig( + name="Stable Diffusion XL", + aliases=MODEL_ARCHITECTURE_LOOKUP["sdxl"].aliases, + architecture=MODEL_ARCHITECTURE_LOOKUP["sdxl"], + defaults={ + "negative_prompt": DEFAULT_NEGATIVE_PROMPT, + "composition_strength": 0.6, + }, + weights_location="https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/tree/462165984030d82259a11f4367a4eed129e94a7b/", + ), + ModelWeightsConfig( + name="OpenDalle V1.1", + aliases=["opendalle11", "odv11", "opendalle11", "opendalle", "od"], + architecture=MODEL_ARCHITECTURE_LOOKUP["sdxl"], + defaults={ + "negative_prompt": DEFAULT_NEGATIVE_PROMPT, + "composition_strength": 0.6, + }, + weights_location="https://huggingface.co/dataautogpt3/OpenDalleV1.1/tree/33dc6acd722cd7a956bf676011609e41665d4c4e/", + ), # Video Weights ModelWeightsConfig( name="Stable Video Diffusion", diff --git a/imaginairy/modules/refiners_sd.py b/imaginairy/modules/refiners_sd.py index 4244ab0..e034df1 100644 --- a/imaginairy/modules/refiners_sd.py +++ b/imaginairy/modules/refiners_sd.py @@ -3,26 +3,32 @@ import logging import math from functools import lru_cache -from typing import Literal +from typing import List, Literal import torch from refiners.fluxion.layers.attentions import ScaledDotProductAttention from refiners.fluxion.layers.chain import ChainError -from refiners.foundationals.latent_diffusion import ( - SD1ControlnetAdapter, - SD1UNet, - StableDiffusion_1 as RefinerStableDiffusion_1, - StableDiffusion_1_Inpainting as RefinerStableDiffusion_1_Inpainting, +from refiners.foundationals.latent_diffusion.self_attention_guidance import ( + SelfAttentionMap, ) from refiners.foundationals.latent_diffusion.stable_diffusion_1.controlnet import ( Controlnet, + SD1ControlnetAdapter, ) from refiners.foundationals.latent_diffusion.stable_diffusion_1.model import ( SD1Autoencoder, + SD1UNet, + StableDiffusion_1 as RefinerStableDiffusion_1, + StableDiffusion_1_Inpainting as RefinerStableDiffusion_1_Inpainting, +) +from refiners.foundationals.latent_diffusion.stable_diffusion_xl.model import ( + SDXLAutoencoder, + StableDiffusion_XL as RefinerStableDiffusion_XL, ) from torch import Tensor, nn from torch.nn import functional as F +from imaginairy.schema import WeightedPrompt from imaginairy.utils.feather_tile import rebuild_image, tile_image from imaginairy.weight_management.conversion import cast_weights @@ -77,7 +83,124 @@ class TileModeMixin(nn.Module): class StableDiffusion_1(TileModeMixin, RefinerStableDiffusion_1): - pass + def calculate_text_conditioning_kwargs( + self, + positive_prompts: List[WeightedPrompt], + negative_prompts: List[WeightedPrompt], + positive_conditioning_override: Tensor | None = None, + ): + import torch + + from imaginairy.utils.log_utils import log_conditioning + + neutral_conditioning = self.prompts_to_embeddings(negative_prompts) + log_conditioning(neutral_conditioning, "neutral conditioning") + + if positive_conditioning_override is None: + positive_conditioning = self.prompts_to_embeddings(positive_prompts) + else: + positive_conditioning = positive_conditioning_override + log_conditioning(positive_conditioning, "positive conditioning") + + clip_text_embedding = torch.cat( + tensors=(neutral_conditioning, positive_conditioning), dim=0 + ) + return {"clip_text_embedding": clip_text_embedding} + + def prompts_to_embeddings(self, prompts: List[WeightedPrompt]) -> Tensor: + import torch + + total_weight = sum(wp.weight for wp in prompts) + if str(self.clip_text_encoder.device) == "cpu": + self.clip_text_encoder = self.clip_text_encoder.to(dtype=torch.float32) + conditioning = sum( + self.clip_text_encoder(wp.text) * (wp.weight / total_weight) + for wp in prompts + ) + + return conditioning + + +class StableDiffusion_XL(TileModeMixin, RefinerStableDiffusion_XL): + def forward( # type: ignore + self, + x: Tensor, + step: int, + *, + clip_text_embedding: Tensor, + pooled_text_embedding: Tensor, + time_ids: Tensor | None = None, + condition_scale: float = 5.0, + **kwargs: Tensor, + ) -> Tensor: + time_ids = time_ids or self.default_time_ids + return super().forward( + x=x, + step=step, + clip_text_embedding=clip_text_embedding, + pooled_text_embedding=pooled_text_embedding, + time_ids=time_ids, + condition_scale=condition_scale, + **kwargs, + ) + + def calculate_text_conditioning_kwargs( + self, + positive_prompts: List[WeightedPrompt], + negative_prompts: List[WeightedPrompt], + positive_conditioning_override: Tensor | None = None, + ): + import torch + + from imaginairy.utils.log_utils import log_conditioning + + ( + neutral_clip_text_embedding, + neutral_pooled_text_embedding, + ) = self.prompts_to_embeddings(negative_prompts) + log_conditioning(neutral_clip_text_embedding, "neutral_clip_text_embedding") + log_conditioning(neutral_pooled_text_embedding, "neutral_pooled_text_embedding") + + ( + positive_clip_text_embedding, + positive_pooled_text_embedding, + ) = self.prompts_to_embeddings(positive_prompts) + log_conditioning(positive_clip_text_embedding, "positive_clip_text_embedding") + log_conditioning( + positive_pooled_text_embedding, "positive_pooled_text_embedding" + ) + + return { + "clip_text_embedding": torch.cat( + tensors=(neutral_clip_text_embedding, positive_clip_text_embedding), + dim=0, + ), + "pooled_text_embedding": torch.cat( + tensors=(neutral_pooled_text_embedding, positive_pooled_text_embedding), + dim=0, + ), + } + + def prompts_to_embeddings( + self, prompts: List[WeightedPrompt] + ) -> tuple[Tensor, Tensor]: + import torch + + total_weight = sum(wp.weight for wp in prompts) + if str(self.clip_text_encoder.device) == "cpu": + self.clip_text_encoder = self.clip_text_encoder.to(dtype=torch.float32) + + embeddings = [self.clip_text_encoder(wp.text) for wp in prompts] + clip_text_embedding = ( + sum(emb[0] * wp.weight for emb, wp in zip(embeddings, prompts)) + / total_weight + ) + pooled_text_embedding = ( + sum(emb[1] * wp.weight for emb, wp in zip(embeddings, prompts)) + / total_weight + ) + + return clip_text_embedding, pooled_text_embedding # type: ignore class StableDiffusion_1_Inpainting(TileModeMixin, RefinerStableDiffusion_1_Inpainting): @@ -116,10 +239,47 @@ class StableDiffusion_1_Inpainting(TileModeMixin, RefinerStableDiffusion_1_Inpai return sag.scale * (noise - degraded_noise) + def calculate_text_conditioning_kwargs( + self, + positive_prompts: List[WeightedPrompt], + negative_prompts: List[WeightedPrompt], + positive_conditioning_override: Tensor | None = None, + ): + import torch + + from imaginairy.utils.log_utils import log_conditioning + + neutral_conditioning = self.prompts_to_embeddings(negative_prompts) + log_conditioning(neutral_conditioning, "neutral conditioning") + + if positive_conditioning_override is None: + positive_conditioning = self.prompts_to_embeddings(positive_prompts) + else: + positive_conditioning = positive_conditioning_override + log_conditioning(positive_conditioning, "positive conditioning") + + clip_text_embedding = torch.cat( + tensors=(neutral_conditioning, positive_conditioning), dim=0 + ) + return {"clip_text_embedding": clip_text_embedding} + + def prompts_to_embeddings(self, prompts: List[WeightedPrompt]) -> Tensor: + import torch -class SD1AutoencoderSliced(SD1Autoencoder): + total_weight = sum(wp.weight for wp in prompts) + if str(self.clip_text_encoder.device) == "cpu": + self.clip_text_encoder = self.clip_text_encoder.to(dtype=torch.float32) + conditioning = sum( + self.clip_text_encoder(wp.text) * (wp.weight / total_weight) + for wp in prompts + ) + + return conditioning + + +class SlicedEncoderMixin(nn.Module): max_chunk_size = 2048 - min_chunk_size = 64 + min_chunk_size = 32 def encode(self, x: Tensor) -> Tensor: return self.sliced_encode(x) @@ -133,12 +293,12 @@ class SD1AutoencoderSliced(SD1Autoencoder): [1, 4, math.floor(h / 8), math.floor(w / 8)], device=x.device ) overlap_pct = 0.5 - + encoder = self[0] # type: ignore for x_img in x.split(1): chunks = tile_image( x_img, tile_size=chunk_size, overlap_percent=overlap_pct ) - encoded_chunks = [super(SD1Autoencoder, self).encode(ic) for ic in chunks] + encoded_chunks = [encoder(ic) * self.encoder_scale for ic in chunks] final_tensor = rebuild_image( encoded_chunks, @@ -157,9 +317,10 @@ class SD1AutoencoderSliced(SD1Autoencoder): except ChainError as e: if "OutOfMemoryError" not in str(e): raise - self.__class__.max_chunk_size = ( - int(math.sqrt(x.shape[2] * x.shape[3])) // 2 - ) + new_size = int(math.sqrt(x.shape[2] * x.shape[3])) // 2 + # make sure it's an even number + new_size = new_size - (new_size % 2) + self.__class__.max_chunk_size = new_size logger.info( f"Ran out of memory. Trying tiled decode with chunk size {self.__class__.max_chunk_size}" ) @@ -170,6 +331,8 @@ class SD1AutoencoderSliced(SD1Autoencoder): if "OutOfMemoryError" not in str(e): raise self.__class__.max_chunk_size = self.max_chunk_size // 2 + # make sure it's an even number + self.__class__.max_chunk_size -= self.__class__.max_chunk_size % 2 self.__class__.max_chunk_size = max( self.__class__.max_chunk_size, self.__class__.min_chunk_size ) @@ -179,7 +342,7 @@ class SD1AutoencoderSliced(SD1Autoencoder): raise RuntimeError("Could not decode image") def decode_all_at_once(self, x: Tensor) -> Tensor: - decoder = self[1] + decoder = self[1] # type: ignore x = decoder(x / self.encoder_scale) return x @@ -213,6 +376,14 @@ class SD1AutoencoderSliced(SD1Autoencoder): return final_tensor +class SD1AutoencoderSliced(SlicedEncoderMixin, SD1Autoencoder): + pass + + +class SDXLAutoencoderSliced(SlicedEncoderMixin, SDXLAutoencoder): + pass + + def add_sliced_attention_to_scaled_dot_product_attention(cls): """ Patch refiners ScaledDotProductAttention so that it uses sliced attention @@ -281,6 +452,9 @@ def monkeypatch_sd1controlnetadapter(): device=target.device, dtype=target.dtype, ) + print( + f"controlnet: {name} loaded to device {target.device} and type {target.dtype}" + ) self._controlnet: list[Controlnet] = [ # type: ignore controlnet @@ -295,7 +469,55 @@ def monkeypatch_sd1controlnetadapter(): monkeypatch_sd1controlnetadapter() -@lru_cache(maxsize=4) +@lru_cache +def monkeypatch_self_attention_guidance(): + def new_compute_attention_scores( + self, query: Tensor, key: Tensor, value: Tensor, slice_size=2048 + ) -> Tensor: + query, key = self.split_to_multi_head(query), self.split_to_multi_head(key) + batch_size, num_heads, num_queries, dim = query.shape + + output = torch.zeros( + batch_size, + num_heads, + num_queries, + num_queries, + device=query.device, + dtype=query.dtype, + ) + for start_idx in range(0, num_queries, slice_size): + end_idx = min(start_idx + slice_size, num_queries) + sliced_query = query[:, :, start_idx:end_idx, :] + attention_slice = sliced_query @ key.permute(0, 1, 3, 2) + attention_slice = attention_slice / math.sqrt(dim) + output_slice = torch.softmax(input=attention_slice, dim=-1) + output[:, :, start_idx:end_idx, :] = output_slice + + return output + + def compute_attention_scores_logged( + self, query: Tensor, key: Tensor, value: Tensor + ) -> Tensor: + print(f"query.shape: {query.shape}") + print(f"key.shape: {key.shape}") + query, key = self.split_to_multi_head(query), self.split_to_multi_head(key) + print(f"mh query.shape: {query.shape}") + print(f"mh key.shape: {key.shape}") + _, _, _, dim = query.shape + attention = query @ key.permute(0, 1, 3, 2) + attention = attention / math.sqrt(dim) + print(f"attention shape: {attention.shape}") + result = torch.softmax(input=attention, dim=-1) + print(f"result.shape: {result.shape}") + return result + + SelfAttentionMap.compute_attention_scores = new_compute_attention_scores + + +monkeypatch_self_attention_guidance() + + +@lru_cache(maxsize=1) def get_controlnet(name, weights_location, device, dtype): from imaginairy.utils.model_manager import load_state_dict diff --git a/imaginairy/schema.py b/imaginairy/schema.py index 18f01c9..4830a49 100644 --- a/imaginairy/schema.py +++ b/imaginairy/schema.py @@ -299,7 +299,7 @@ class ImaginePrompt(BaseModel, protected_namespaces=()): caption_text: str = Field( "", description="text to be overlaid on the image", validate_default=True ) - composition_strength: float = Field(default=0.5, ge=0, le=1, validate_default=True) + composition_strength: float = Field(ge=0, le=1, validate_default=True) inpaint_method: InpaintMethod = "finetune" def __init__( @@ -454,6 +454,23 @@ class ImaginePrompt(BaseModel, protected_namespaces=()): raise ValueError("conditioning must be a torch.Tensor") # noqa return v + @model_validator(mode="before") + @classmethod + def set_default_composition_strength(cls, data: Any) -> Any: + if not isinstance(data, dict): + return data + comp_strength = data.get("composition_strength") + default_comp_strength = 0.5 + if comp_strength is None: + model_weights = data.get("model_weights") + if isinstance(model_weights, config.ModelWeightsConfig): + default_comp_strength = model_weights.defaults.get( + "composition_strength", default_comp_strength + ) + data["composition_strength"] = default_comp_strength + + return data + # @field_validator("init_image", "mask_image", mode="after") # def handle_images(cls, v): # if isinstance(v, str): diff --git a/imaginairy/utils/__init__.py b/imaginairy/utils/__init__.py index 9207e65..f63eb26 100644 --- a/imaginairy/utils/__init__.py +++ b/imaginairy/utils/__init__.py @@ -89,7 +89,7 @@ def platform_appropriate_autocast(precision="autocast", enabled=True): # https://github.com/pytorch/pytorch/issues/55374 # https://github.com/invoke-ai/InvokeAI/pull/518 - if precision == "autocast" and get_device() in ("cuda",): + if precision == "autocast" and get_device() in ("cuda",) and False: with autocast(get_device(), enabled=enabled): yield else: @@ -235,7 +235,11 @@ def glob_expand_paths(paths): if p.startswith("http"): expanded_paths.append(p) else: - expanded_paths.extend(glob.glob(os.path.expanduser(p))) + p = os.path.expanduser(p) + if os.path.exists(p) and os.path.isfile(p): + expanded_paths.append(p) + else: + expanded_paths.extend(glob.glob(os.path.expanduser(p))) return expanded_paths @@ -320,3 +324,13 @@ def get_nested_attribute(obj, attribute_path, depth=None, return_key=False): def prompt_normalized(prompt, length=130): return re.sub(r"[^a-zA-Z0-9.,\[\]-]+", "_", prompt)[:length] + + +def clear_gpu_cache(): + import gc + + import torch + + gc.collect() + if torch.cuda.is_available(): + torch.cuda.empty_cache() diff --git a/imaginairy/utils/feather_tile.py b/imaginairy/utils/feather_tile.py index c06b286..b7dfaea 100644 --- a/imaginairy/utils/feather_tile.py +++ b/imaginairy/utils/feather_tile.py @@ -117,13 +117,7 @@ def add_tiles(tiles, base_img, tile_coords, tile_size, overlap): f_ovlp[1] = 0 t = 0 - ( - column, - row, - ) = ( - 0, - 0, - ) + (column, row) = (0, 0) for y in tile_coords[0]: for x in tile_coords[1]: @@ -151,7 +145,10 @@ def add_tiles(tiles, base_img, tile_coords, tile_size, overlap): if f_ovlp[1] > 0: c_overlap[3] = f_ovlp[1] # Change left overlap - # print(f"mask_tile: tile.shape={tiles[t].shape}, overlap={c_overlap}, side={mask_sides} col={column}, row={row}") + # print(f"num-tiles={len(tiles)} t={t}") + # print( + # f"mask_tile: tile.shape={tiles[t].shape}, overlap={c_overlap}, side={mask_sides} col={column}, row={row}" + # ) tile = mask_tile(tiles[t], c_overlap, std_overlap=overlap, side=mask_sides) # torch_img_to_pillow_img(tile).show() diff --git a/imaginairy/utils/log_utils.py b/imaginairy/utils/log_utils.py index 6d66f82..4425628 100644 --- a/imaginairy/utils/log_utils.py +++ b/imaginairy/utils/log_utils.py @@ -122,8 +122,6 @@ class ImageLoggingContext: ) def log_latents(self, latents, description): - from imaginairy.utils.img_utils import model_latents_to_pillow_imgs - if "predicted_latent" in description: if self.progress_latent_callback is not None: self.progress_latent_callback(latents) @@ -148,11 +146,18 @@ class ImageLoggingContext: except TypeError: shape_str = str(latents.shape) description = f"{description}-{shape_str}" - for img in model_latents_to_pillow_imgs(latents): + for latent in latents: self.image_count += 1 + latent = latent.unsqueeze(0) + img = latent_to_raw_image(latent) self.debug_img_callback( img, description, self.image_count, self.step_count, self.prompt ) + # for img in model_latents_to_pillow_imgs(latents): + # self.image_count += 1 + # self.debug_img_callback( + # img, description, self.image_count, self.step_count, self.prompt + # ) def log_img(self, img, description): if not self.debug_img_callback: @@ -329,3 +334,39 @@ def suppress_annoying_logs_and_warnings(): disable_transformers_custom_logging() disable_pytorch_lighting_custom_logging() disable_common_warnings() + + +def latent_to_raw_image(tensor): + """ + Converts a tensor of size (1, 4, x, y) into a PIL image of size (x*4, y*4). + + Args: + tensor (numpy.ndarray): A tensor of size (1, 4, x, y). + + Returns: + PIL.Image: An image representing the tensor. + """ + from PIL import Image + + if tensor.ndim != 4 or tensor.shape[0] != 1: + msg = f"Tensor must be of shape (1, c, x, y). got shape: {tensor.shape}" + raise ValueError(msg) + + _, c, x, y = tensor.shape + + full_image = Image.new("L", (x, y * c)) + + # Process each channel + for i in range(c): + # Extract the channel + channel = tensor[0, i, :, :] + + # Normalize and convert to an image + channel_image = Image.fromarray( + (channel / channel.max() * 255).cpu().numpy().astype("uint8") + ) + + # Paste the channel image into the full image + full_image.paste(channel_image, (0, i * y)) + + return full_image diff --git a/imaginairy/utils/model_manager.py b/imaginairy/utils/model_manager.py index 5e67225..93c51bf 100644 --- a/imaginairy/utils/model_manager.py +++ b/imaginairy/utils/model_manager.py @@ -16,17 +16,19 @@ from huggingface_hub import ( try_to_load_from_cache, ) from omegaconf import OmegaConf -from refiners.foundationals.latent_diffusion import SD1UNet +from refiners.foundationals.latent_diffusion import DoubleTextEncoder, SD1UNet, SDXLUNet from refiners.foundationals.latent_diffusion.model import LatentDiffusionModel from safetensors.torch import load_file from imaginairy import config as iconfig from imaginairy.config import IMAGE_WEIGHTS_SHORT_NAMES, ModelArchitecture from imaginairy.modules import attention -from imaginairy.utils import get_device, instantiate_from_config +from imaginairy.modules.refiners_sd import SDXLAutoencoderSliced, StableDiffusion_XL +from imaginairy.utils import clear_gpu_cache, get_device, instantiate_from_config from imaginairy.utils.model_cache import memory_managed_model from imaginairy.utils.named_resolutions import normalize_image_size from imaginairy.utils.paths import PKG_ROOT +from imaginairy.weight_management import translators logger = logging.getLogger(__name__) @@ -37,20 +39,6 @@ class HuggingFaceAuthorizationError(RuntimeError): pass -def load_tensors(tensorfile, map_location=None): - if tensorfile == "empty": - # used for testing - return {} - if tensorfile.endswith((".ckpt", ".pth", ".bin")): - return torch.load(tensorfile, map_location=map_location) - if tensorfile.endswith(".safetensors"): - return load_file(tensorfile, device=map_location) - - return load_file(tensorfile, device=map_location) - - # raise ValueError(f"Unknown tensorfile type: {tensorfile}") - - def load_state_dict(weights_location, half_mode=False, device=None): if device is None: device = get_device() @@ -233,8 +221,10 @@ def get_diffusion_model_refiners( dtype=None, ) -> LatentDiffusionModel: """Load a diffusion model.""" + return _get_diffusion_model_refiners( weights_location=weights_config.weights_location, + architecture_alias=weights_config.architecture.primary_alias, for_inpainting=for_inpainting, dtype=dtype, ) @@ -265,6 +255,40 @@ def normalize_diffusers_repo_url(url: str) -> str: @lru_cache(maxsize=1) def _get_diffusion_model_refiners( + weights_location: str, + architecture_alias: str, + for_inpainting: bool = False, + device=None, + dtype=torch.float16, +) -> LatentDiffusionModel: + """ + Load a diffusion model. + + Weights location may also be shortcut name, e.g. "SD-1.5" + """ + global MOST_RECENTLY_LOADED_MODEL + _get_diffusion_model_refiners.cache_clear() + clear_gpu_cache() + + architecture = iconfig.MODEL_ARCHITECTURE_LOOKUP[architecture_alias] + if architecture.primary_alias in ("sd15", "sd15inpaint"): + sd = _get_sd15_diffusion_model_refiners( + weights_location=weights_location, + for_inpainting=for_inpainting, + device=device, + dtype=dtype, + ) + elif architecture.primary_alias == "sdxl": + sd = load_sdxl_pipeline(base_url=weights_location, device=device) + else: + msg = f"Invalid architecture {architecture.primary_alias}" + raise ValueError(msg) + + MOST_RECENTLY_LOADED_MODEL = sd + return sd + + +def _get_sd15_diffusion_model_refiners( weights_location: str, for_inpainting: bool = False, device=None, @@ -281,15 +305,13 @@ def _get_diffusion_model_refiners( StableDiffusion_1_Inpainting, ) - global MOST_RECENTLY_LOADED_MODEL - device = device or get_device() if is_diffusers_repo_url(weights_location): ( vae_weights, unet_weights, text_encoder_weights, - ) = load_stable_diffusion_diffusers_weights(weights_location) + ) = load_sd15_diffusers_weights(weights_location) else: ( vae_weights, @@ -299,10 +321,10 @@ def _get_diffusion_model_refiners( StableDiffusionCls: type[LatentDiffusionModel] if for_inpainting: - unet = SD1UNet(in_channels=9) + unet = SD1UNet(in_channels=9, device=device, dtype=dtype) StableDiffusionCls = StableDiffusion_1_Inpainting else: - unet = SD1UNet(in_channels=4) + unet = SD1UNet(in_channels=4, device=device, dtype=dtype) StableDiffusionCls = StableDiffusion_1 logger.debug(f"Using class {StableDiffusionCls.__name__}") @@ -320,8 +342,6 @@ def _get_diffusion_model_refiners( logger.debug(f"'{weights_location}' Loaded") - MOST_RECENTLY_LOADED_MODEL = sd - sd.set_self_attention_guidance(enable=True) return sd @@ -559,7 +579,7 @@ def extract_huggingface_repo_commit_file_from_url(url): return repo, commit_hash, filepath -def download_diffusers_weights(base_url, sub, filename=None): +def download_diffusers_weights(base_url, sub, filename=None, prefer_fp16=True): if filename is None: # select which weights to download. prefer fp16 safetensors data = parse_diffusers_repo_url(base_url) @@ -567,7 +587,7 @@ def download_diffusers_weights(base_url, sub, filename=None): filepaths = fs.ls( f"{data['author']}/{data['repo']}/{sub}", revision=data["ref"], detail=False ) - filepath = choose_diffusers_weights(filepaths) + filepath = choose_diffusers_weights(filepaths, prefer_fp16=prefer_fp16) if not filepath: msg = f"Could not find any weights in {base_url}/{sub}" raise ValueError(msg) @@ -577,22 +597,26 @@ def download_diffusers_weights(base_url, sub, filename=None): return new_path -def choose_diffusers_weights(filenames): +def choose_diffusers_weights(filenames, prefer_fp16=True): extension_priority = (".safetensors", ".bin", ".pth", ".pt") # filter out any files that don't have a valid extension filenames = [f for f in filenames if any(f.endswith(e) for e in extension_priority)] filenames_and_extension = [(f, os.path.splitext(f)[1]) for f in filenames] # sort by priority - filenames_and_extension.sort( - key=lambda x: ("fp16" not in x[0], extension_priority.index(x[1])) - ) + if prefer_fp16: + filenames_and_extension.sort( + key=lambda x: ("fp16" not in x[0], extension_priority.index(x[1])) + ) + else: + filenames_and_extension.sort( + key=lambda x: ("fp16" in x[0], extension_priority.index(x[1])) + ) if filenames_and_extension: return filenames_and_extension[0][0] return None -@lru_cache -def load_stable_diffusion_diffusers_weights(base_url: str, device=None): +def load_sd15_diffusers_weights(base_url: str, device=None): from imaginairy.utils import get_device from imaginairy.weight_management.conversion import cast_weights from imaginairy.weight_management.utils import ( @@ -639,6 +663,76 @@ def load_stable_diffusion_diffusers_weights(base_url: str, device=None): return vae_weights, unet_weights, text_encoder_weights +def load_sdxl_diffusers_weights(base_url: str, device=None, dtype=torch.float16): + from imaginairy.utils import get_device + + device = device or get_device() + + base_url = normalize_diffusers_repo_url(base_url) + + translator = translators.diffusers_autoencoder_kl_to_refiners_translator() + vae_weights_path = download_diffusers_weights( + base_url=base_url, sub="vae", prefer_fp16=False + ) + print(vae_weights_path) + vae_weights = translator.load_and_translate_weights( + source_path=vae_weights_path, + device="cpu", + ) + lda = SDXLAutoencoderSliced(device="cpu", dtype=dtype) + lda.load_state_dict(vae_weights) + del vae_weights + + translator = translators.diffusers_unet_sdxl_to_refiners_translator() + unet_weights_path = download_diffusers_weights(base_url=base_url, sub="unet") + print(unet_weights_path) + unet_weights = translator.load_and_translate_weights( + source_path=unet_weights_path, + device="cpu", + ) + unet = SDXLUNet(device="cpu", dtype=dtype, in_channels=4) + unet.load_state_dict(unet_weights) + del unet_weights + + text_encoder_1_path = download_diffusers_weights( + base_url=base_url, sub="text_encoder" + ) + text_encoder_2_path = download_diffusers_weights( + base_url=base_url, sub="text_encoder_2" + ) + print(text_encoder_1_path) + print(text_encoder_2_path) + text_encoder_weights = ( + translators.DoubleTextEncoderTranslator().load_and_translate_weights( + text_encoder_l_weights_path=text_encoder_1_path, + text_encoder_g_weights_path=text_encoder_2_path, + device="cpu", + ) + ) + text_encoder = DoubleTextEncoder(device="cpu", dtype=dtype) + text_encoder.load_state_dict(text_encoder_weights) + del text_encoder_weights + lda = lda.to(device=device) + unet = unet.to(device=device) + text_encoder = text_encoder.to(device=device) + sd = StableDiffusion_XL( + device=device, dtype=dtype, lda=lda, unet=unet, clip_text_encoder=text_encoder + ) + sd.lda.to(device=device, dtype=torch.float32) + + return sd + + +def load_sdxl_pipeline(base_url, device=None): + logger.info(f"Loading SDXL weights from {base_url}") + device = device or get_device() + sd = load_sdxl_diffusers_weights(base_url, device=device) + + sd.set_self_attention_guidance(enable=True) + + return sd + + def open_weights(filepath, device=None): from imaginairy.utils import get_device @@ -664,6 +758,20 @@ def open_weights(filepath, device=None): return state_dict +def load_tensors(tensorfile, map_location=None): + if tensorfile == "empty": + # used for testing + return {} + if tensorfile.endswith((".ckpt", ".pth", ".bin")): + return torch.load(tensorfile, map_location=map_location) + if tensorfile.endswith(".safetensors"): + return load_file(tensorfile, device=map_location) + + return load_file(tensorfile, device=map_location) + + # raise ValueError(f"Unknown tensorfile type: {tensorfile}") + + def load_stable_diffusion_compvis_weights(weights_url): from imaginairy.utils import get_device from imaginairy.weight_management.conversion import cast_weights diff --git a/imaginairy/weight_management/conversion.py b/imaginairy/weight_management/conversion.py index a7ac60d..b26e319 100644 --- a/imaginairy/weight_management/conversion.py +++ b/imaginairy/weight_management/conversion.py @@ -97,7 +97,7 @@ def load_state_dict_conversion_maps() -> dict[str, dict]: conversion_maps = {} from importlib.resources import files - for file in files("imaginairy").joinpath("weight_conversion/maps").iterdir(): + for file in files("imaginairy").joinpath("weight_management/weight_maps").iterdir(): if file.is_file() and file.suffix == ".json": # type: ignore conversion_maps[file.name] = json.loads(file.read_text()) return conversion_maps @@ -117,3 +117,23 @@ def cast_weights( dest_format=dest_format, ) return weight_map.cast_weights(source_weights) + + +def render_fstring(fstring, variables): + """ + Render a string formatted like an f-string using the provided variables. + + DANGER: This is a security risk if the fstring is user-provided. + + Args: + fstring (str): The template string with placeholders for variables. + variables (dict): A dictionary containing the variables to be used in the f-string. + + Returns: + str: The rendered string with variables substituted. + """ + # Use locals().update to add the variables to the local scope + locals().update(variables) + + # Evaluate the f-string using eval with an f-string formatted string + return eval(f'f"""{fstring}"""') diff --git a/imaginairy/weight_management/translation.py b/imaginairy/weight_management/translation.py new file mode 100644 index 0000000..873e2e9 --- /dev/null +++ b/imaginairy/weight_management/translation.py @@ -0,0 +1,206 @@ +import logging +import re +from dataclasses import asdict, dataclass, field +from typing import Dict + +import torch +from refiners.fluxion import load_from_safetensors +from torch import device as Device + +logger = logging.getLogger(__name__) + + +TensorDict = Dict[str, torch.Tensor] + + +@dataclass +class WeightTranslationMap: + name_map: dict[str, str | None] = field(default_factory=dict) + regex_map: dict[str, str | None] = field(default_factory=dict) + ignore_prefixes: list[str] = field(default_factory=list) + source_aliases: dict[str, str] = field(default_factory=dict) + reshapes: dict[str, tuple[int, ...]] = field(default_factory=dict) + + def load_and_translate_weights( + self, source_path: str, device: Device | str = "cpu" + ) -> TensorDict: + extension = source_path.split(".")[-1] + if extension in ["pth", "pt", "bin"]: + source_weights = torch.load(source_path, map_location="cpu") + + elif extension in ["safetensors"]: + source_weights = load_from_safetensors(source_path, device=device) + else: + msg = f"Unsupported extension {extension}" + raise ValueError(msg) + + return self.translate_weights(source_weights) + + def translate_weights(self, source_weights: TensorDict) -> TensorDict: + return translate_weights(source_weights=source_weights, weight_map=self) + + def add_regex_replacer(self, find_pattern: str, replace_pattern: str): + orig_size = len(self.name_map) + # see which keys of name_map + find_pattern_c = re.compile(find_pattern) + matched_keys = [k for k in self.name_map if find_pattern_c.match(k)] + # print(f"Pattern {find_pattern} matched {len(matched_keys)} keys") + for k in matched_keys: + match = find_pattern_c.match(k) + if not match: + continue + data = match.groupdict() + new_k = render_fstring(replace_pattern, data) + expected_k = self.name_map[k] + assert new_k == expected_k + # print(f"Replacing {k} with {new_k}") + del self.name_map[k] + + self.regex_map[find_pattern] = replace_pattern + print( + f"Adding pattern reduced name_map from {orig_size} to {len(self.name_map)}" + ) + + def save(self, path): + import json + import os + + os.makedirs(os.path.dirname(path), exist_ok=True) + + with open(path, "w") as f: + json.dump(asdict(self), f, indent=4) + + @classmethod + def load(cls, path): + import json + + with open(path) as f: + d = json.load(f) + return cls(**d) + + +def translate_weights( + source_weights: TensorDict, weight_map: WeightTranslationMap +) -> TensorDict: + new_state_dict: TensorDict = {} + # print(f"Translating {len(source_weights)} weights") + # print(f"Using {len(weight_map.name_map)} name mappings") + # print(source_weights.keys()) + + source_weights = flatten_dict(source_weights) + + for source_key in list(source_weights.keys()): + source_key = weight_map.source_aliases.get(source_key, source_key) + try: + target_key = weight_map.name_map[source_key] + # print(f"Found {source_prefix} -> {target_prefix}") + except KeyError: + continue + if target_key is None: + # mapped to None means we ignore it + source_weights.pop(source_key) + else: + # print(f"Adding {target_key}") + new_state_dict[target_key] = source_weights.pop(source_key) + + for source_key in list(source_weights.keys()): + try: + source_prefix, suffix = source_key.rsplit(sep=".", maxsplit=1) + except ValueError: + # no dots + continue + # print(f"Checking {source_prefix} {suffix}") + + source_prefix = weight_map.source_aliases.get(source_prefix, source_prefix) + try: + target_prefix = weight_map.name_map[source_prefix] + # print(f"Found {source_prefix} -> {target_prefix}") + except KeyError: + continue + if target_prefix is None: + # mapped to None means we ignore it + source_weights.pop(source_key) + continue + else: + target_key = ".".join([target_prefix, suffix]) + # print(f"Adding {target_key}") + new_state_dict[target_key] = source_weights.pop(source_key) + + for source_key in list(source_weights.keys()): + try: + source_prefix, suffix = source_key.rsplit(sep=".", maxsplit=1) + except ValueError: + # no dots + continue + for pattern, replace_pattern in weight_map.regex_map.items(): + match = re.match(pattern, source_prefix) + if match: + match_data = match.groupdict() + new_k = render_fstring(replace_pattern, match_data) + new_k = ".".join([new_k, suffix]) + new_state_dict[new_k] = source_weights.pop(source_key) + + if source_weights: + msg = f"Unmapped keys: {list(source_weights.keys())}" + print(msg) + for k in source_weights: + if isinstance(source_weights[k], torch.Tensor): + print(f" {k}: {source_weights[k].shape}") + else: + print(f" {k}: {repr(source_weights[k])[:100]}") + + if weight_map.reshapes: + for key, new_shape in weight_map.reshapes.items(): + if key in new_state_dict: + new_state_dict[key] = new_state_dict[key].reshape(new_shape) + + return new_state_dict + + +def flatten_dict(d, sep="."): + """ + Flattens a nested dictionary into a dictionary with dot-separated keys. + This function removes items from the original dictionary as they are added to the new one. + The function uses an iterative approach instead of recursion. + + Parameters: + d (dict): The dictionary to flatten. + sep (str): The separator to use between keys. + + Returns: + dict: A flattened dictionary. + """ + flat_dict = {} + stack = [("", d)] + + while stack: + parent_key, current_dict = stack.pop() + keys = list(current_dict.keys()) # Create a list of keys to avoid RuntimeError + for k in keys: + new_key = f"{parent_key}{sep}{k}" if parent_key else k + if isinstance(current_dict[k], dict): + stack.append((new_key, current_dict[k])) + else: + flat_dict[new_key] = current_dict.pop(k) + + return flat_dict + + +def render_fstring(fstring, variables): + """ + Render a string formatted like an f-string using the provided variables. + + DANGER: This is a security risk if the fstring is user-provided. + + Args: + fstring (str): The template string with placeholders for variables. + variables (dict): A dictionary containing the variables to be used in the f-string. + + Returns: + str: The rendered string with variables substituted. + """ + # Use locals().update to add the variables to the local scope + locals().update(variables) + + # Evaluate the f-string using eval with an f-string formatted string + return eval(f'f"""{fstring}"""') diff --git a/imaginairy/weight_management/translators.py b/imaginairy/weight_management/translators.py new file mode 100644 index 0000000..85e746c --- /dev/null +++ b/imaginairy/weight_management/translators.py @@ -0,0 +1,115 @@ +import os +from functools import lru_cache + +from torch import device as Device + +from imaginairy.weight_management.translation import TensorDict, WeightTranslationMap + +_current_folder = os.path.dirname(os.path.abspath(__file__)) +weight_map_folder = os.path.join(_current_folder, "weight_maps") + + +@lru_cache +def _weight_map(map_name: str) -> WeightTranslationMap: + map_path = os.path.join(weight_map_folder, f"{map_name}.weightmap.json") + return WeightTranslationMap.load(map_path) + + +def transformers_text_encoder_to_refiners_translator() -> WeightTranslationMap: + return _weight_map("Transformers-ClipTextEncoder") + + +def transformers_image_encoder_to_refiners_translator() -> WeightTranslationMap: + return _weight_map("Transformers-ClipImageEncoder-SD21") + + +def diffusers_autoencoder_kl_to_refiners_translator() -> WeightTranslationMap: + return _weight_map("Diffusers-AutoencoderKL-SD") + + +def diffusers_unet_sd15_to_refiners_translator() -> WeightTranslationMap: + return _weight_map("Diffusers-UNet-SD15") + + +def diffusers_unet_sdxl_to_refiners_translator() -> WeightTranslationMap: + return _weight_map("Diffusers-UNet-SDXL") + + +def informative_drawings_to_refiners_translator() -> WeightTranslationMap: + return _weight_map("InformativeDrawings") + + +def diffusers_controlnet_sd15_to_refiners_translator() -> WeightTranslationMap: + return _weight_map("Diffusers-Controlnet-SD15") + + +def diffusers_ip_adapter_sd15_to_refiners_translator() -> WeightTranslationMap: + return _weight_map("Diffusers-IPAdapter-SD15") + + +def diffusers_ip_adapter_sdxl_to_refiners_translator() -> WeightTranslationMap: + return _weight_map("Diffusers-IPAdapter-SDXL") + + +def diffusers_ip_adapter_plus_sd15_to_refiners_translator() -> WeightTranslationMap: + return _weight_map("Diffusers-IPAdapterPlus-SD15") + + +def diffusers_ip_adapter_plus_sdxl_to_refiners_translator() -> WeightTranslationMap: + return _weight_map("Diffusers-IPAdapterPlus-SDXL") + + +def diffusers_t2i_adapter_sd15_to_refiners_translator() -> WeightTranslationMap: + return _weight_map("Diffusers-T2IAdapter-SD15") + + +def diffusers_t2i_adapter_sdxl_to_refiners_translator() -> WeightTranslationMap: + return _weight_map("Diffusers-T2IAdapter-SDXL") + + +class DoubleTextEncoderTranslator: + def __init__(self): + self.translator = transformers_text_encoder_to_refiners_translator() + + def load_and_translate_weights( + self, + text_encoder_l_weights_path: str, + text_encoder_g_weights_path: str, + device: Device | str = "cpu", + ) -> TensorDict: + text_encoder_l_weights = self.translator.load_and_translate_weights( + text_encoder_l_weights_path, device=device + ) + text_encoder_g_weights = self.translator.load_and_translate_weights( + text_encoder_g_weights_path, device=device + ) + return self.translate_weights(text_encoder_l_weights, text_encoder_g_weights) + + def translate_weights( + self, text_encoder_l_weights: TensorDict, text_encoder_g_weights: TensorDict + ) -> TensorDict: + new_sd: TensorDict = {} + + for k in list(text_encoder_l_weights.keys()): + if k.startswith("TransformerLayer_12"): + text_encoder_l_weights.pop(k) + elif k.startswith("LayerNorm"): + text_encoder_l_weights.pop(k) + else: + new_key = f"Parallel.CLIPTextEncoderL.{k}" + new_sd[new_key] = text_encoder_l_weights.pop(k) + + new_sd[ + "Parallel.TextEncoderWithPooling.Parallel.Chain.Linear.weight" + ] = text_encoder_g_weights.pop("Linear.weight") + for k in list(text_encoder_g_weights.keys()): + if k.startswith("TransformerLayer_32"): + new_key = f"Parallel.TextEncoderWithPooling.Parallel.Chain.CLIPTextEncoderG.TransformerLayer{k[19:]}" + elif k.startswith("LayerNorm"): + new_key = f"Parallel.TextEncoderWithPooling.Parallel.Chain.CLIPTextEncoderG.{k}" + else: + new_key = f"Parallel.TextEncoderWithPooling.CLIPTextEncoderG.{k}" + + new_sd[new_key] = text_encoder_g_weights.pop(k) + + return new_sd diff --git a/imaginairy/weight_management/utils.py b/imaginairy/weight_management/utils.py index 6b2f2e1..52a0811 100644 --- a/imaginairy/weight_management/utils.py +++ b/imaginairy/weight_management/utils.py @@ -4,7 +4,7 @@ import os.path _base_dir = os.path.dirname(os.path.realpath(__file__)) -WEIGHT_MAPS_PATH = os.path.join(_base_dir, "maps") +WEIGHT_MAPS_PATH = os.path.join(_base_dir, "weight_maps") WEIGHT_INFO_PATH = os.path.join(_base_dir, "weight_info") diff --git a/imaginairy/weight_management/weight_maps/Diffusers-AutoencoderKL-SD.weightmap.json b/imaginairy/weight_management/weight_maps/Diffusers-AutoencoderKL-SD.weightmap.json new file mode 100644 index 0000000..7684a40 --- /dev/null +++ b/imaginairy/weight_management/weight_maps/Diffusers-AutoencoderKL-SD.weightmap.json @@ -0,0 +1,174 @@ +{ + "name_map": { + "encoder.conv_in": "Encoder.Conv2d", + "encoder.down_blocks.0.resnets.0.norm1": "Encoder.Chain_1.Chain_1.Resnet_1.Chain.GroupNorm_1", + "encoder.down_blocks.0.resnets.0.norm2": "Encoder.Chain_1.Chain_1.Resnet_1.Chain.GroupNorm_2", + "encoder.down_blocks.0.resnets.1.norm1": "Encoder.Chain_1.Chain_1.Resnet_2.Chain.GroupNorm_1", + "encoder.down_blocks.0.resnets.1.norm2": "Encoder.Chain_1.Chain_1.Resnet_2.Chain.GroupNorm_2", + "encoder.down_blocks.1.resnets.0.norm1": "Encoder.Chain_1.Chain_2.Resnet_1.Chain.GroupNorm_1", + "decoder.up_blocks.3.resnets.0.norm2": "Decoder.Chain_1.Chain_5.Resnet_1.Chain.GroupNorm_2", + "decoder.up_blocks.3.resnets.1.norm1": "Decoder.Chain_1.Chain_5.Resnet_2.Chain.GroupNorm_1", + "decoder.up_blocks.3.resnets.1.norm2": "Decoder.Chain_1.Chain_5.Resnet_2.Chain.GroupNorm_2", + "decoder.up_blocks.3.resnets.2.norm1": "Decoder.Chain_1.Chain_5.Resnet_3.Chain.GroupNorm_1", + "decoder.up_blocks.3.resnets.2.norm2": "Decoder.Chain_1.Chain_5.Resnet_3.Chain.GroupNorm_2", + "decoder.conv_norm_out": "Decoder.Chain_2.GroupNorm", + "encoder.down_blocks.0.resnets.0.conv1": "Encoder.Chain_1.Chain_1.Resnet_1.Chain.Conv2d_1", + "encoder.down_blocks.0.resnets.0.conv2": "Encoder.Chain_1.Chain_1.Resnet_1.Chain.Conv2d_2", + "encoder.down_blocks.0.resnets.1.conv1": "Encoder.Chain_1.Chain_1.Resnet_2.Chain.Conv2d_1", + "encoder.down_blocks.0.resnets.1.conv2": "Encoder.Chain_1.Chain_1.Resnet_2.Chain.Conv2d_2", + "encoder.down_blocks.0.downsamplers.0.conv": "Encoder.Chain_1.Chain_1.Downsample.Conv2d", + "decoder.up_blocks.3.resnets.0.conv2": "Decoder.Chain_1.Chain_5.Resnet_1.Chain.Conv2d_2", + "decoder.up_blocks.3.resnets.1.conv1": "Decoder.Chain_1.Chain_5.Resnet_2.Chain.Conv2d_1", + "decoder.up_blocks.3.resnets.1.conv2": "Decoder.Chain_1.Chain_5.Resnet_2.Chain.Conv2d_2", + "decoder.up_blocks.3.resnets.2.conv1": "Decoder.Chain_1.Chain_5.Resnet_3.Chain.Conv2d_1", + "decoder.up_blocks.3.resnets.2.conv2": "Decoder.Chain_1.Chain_5.Resnet_3.Chain.Conv2d_2", + "encoder.down_blocks.1.resnets.0.conv1": "Encoder.Chain_1.Chain_2.Resnet_1.Chain.Conv2d_1", + "encoder.down_blocks.1.resnets.0.norm2": "Encoder.Chain_1.Chain_2.Resnet_1.Chain.GroupNorm_2", + "encoder.down_blocks.1.resnets.1.norm1": "Encoder.Chain_1.Chain_2.Resnet_2.Chain.GroupNorm_1", + "encoder.down_blocks.1.resnets.1.norm2": "Encoder.Chain_1.Chain_2.Resnet_2.Chain.GroupNorm_2", + "encoder.down_blocks.2.resnets.0.norm1": "Encoder.Chain_1.Chain_3.Resnet_1.Chain.GroupNorm_1", + "decoder.up_blocks.2.resnets.0.norm2": "Decoder.Chain_1.Chain_4.Resnet_1.Chain.GroupNorm_2", + "decoder.up_blocks.2.resnets.1.norm1": "Decoder.Chain_1.Chain_4.Resnet_2.Chain.GroupNorm_1", + "decoder.up_blocks.2.resnets.1.norm2": "Decoder.Chain_1.Chain_4.Resnet_2.Chain.GroupNorm_2", + "decoder.up_blocks.2.resnets.2.norm1": "Decoder.Chain_1.Chain_4.Resnet_3.Chain.GroupNorm_1", + "decoder.up_blocks.2.resnets.2.norm2": "Decoder.Chain_1.Chain_4.Resnet_3.Chain.GroupNorm_2", + "decoder.up_blocks.3.resnets.0.norm1": "Decoder.Chain_1.Chain_5.Resnet_1.Chain.GroupNorm_1", + "encoder.down_blocks.1.resnets.0.conv2": "Encoder.Chain_1.Chain_2.Resnet_1.Chain.Conv2d_2", + "encoder.down_blocks.1.resnets.1.conv1": "Encoder.Chain_1.Chain_2.Resnet_2.Chain.Conv2d_1", + "encoder.down_blocks.1.resnets.1.conv2": "Encoder.Chain_1.Chain_2.Resnet_2.Chain.Conv2d_2", + "encoder.down_blocks.1.downsamplers.0.conv": "Encoder.Chain_1.Chain_2.Downsample.Conv2d", + "decoder.up_blocks.2.resnets.0.conv2": "Decoder.Chain_1.Chain_4.Resnet_1.Chain.Conv2d_2", + "decoder.up_blocks.2.resnets.1.conv1": "Decoder.Chain_1.Chain_4.Resnet_2.Chain.Conv2d_1", + "decoder.up_blocks.2.resnets.1.conv2": "Decoder.Chain_1.Chain_4.Resnet_2.Chain.Conv2d_2", + "decoder.up_blocks.2.resnets.2.conv1": "Decoder.Chain_1.Chain_4.Resnet_3.Chain.Conv2d_1", + "decoder.up_blocks.2.resnets.2.conv2": "Decoder.Chain_1.Chain_4.Resnet_3.Chain.Conv2d_2", + "decoder.up_blocks.2.upsamplers.0.conv": "Decoder.Chain_1.Chain_4.Upsample.Conv2d", + "encoder.down_blocks.1.resnets.0.conv_shortcut": "Encoder.Chain_1.Chain_2.Resnet_1.Conv2d", + "encoder.down_blocks.2.resnets.0.conv1": "Encoder.Chain_1.Chain_3.Resnet_1.Chain.Conv2d_1", + "encoder.down_blocks.2.resnets.0.norm2": "Encoder.Chain_1.Chain_3.Resnet_1.Chain.GroupNorm_2", + "encoder.down_blocks.2.resnets.1.norm1": "Encoder.Chain_1.Chain_3.Resnet_2.Chain.GroupNorm_1", + "encoder.down_blocks.2.resnets.1.norm2": "Encoder.Chain_1.Chain_3.Resnet_2.Chain.GroupNorm_2", + "encoder.down_blocks.3.resnets.0.norm1": "Encoder.Chain_1.Chain_4.Resnet_1.Chain.GroupNorm_1", + "encoder.down_blocks.3.resnets.0.norm2": "Encoder.Chain_1.Chain_4.Resnet_1.Chain.GroupNorm_2", + "encoder.down_blocks.3.resnets.1.norm1": "Encoder.Chain_1.Chain_4.Resnet_2.Chain.GroupNorm_1", + "encoder.down_blocks.3.resnets.1.norm2": "Encoder.Chain_1.Chain_4.Resnet_2.Chain.GroupNorm_2", + "encoder.mid_block.resnets.0.norm1": "Encoder.Chain_1.Chain_5.Resnet_1.Chain.GroupNorm_1", + "encoder.mid_block.resnets.0.norm2": "Encoder.Chain_1.Chain_5.Resnet_1.Chain.GroupNorm_2", + "encoder.mid_block.attentions.0.group_norm": "Encoder.Chain_1.Chain_5.Residual.GroupNorm", + "encoder.mid_block.resnets.1.norm1": "Encoder.Chain_1.Chain_5.Resnet_2.Chain.GroupNorm_1", + "encoder.mid_block.resnets.1.norm2": "Encoder.Chain_1.Chain_5.Resnet_2.Chain.GroupNorm_2", + "encoder.conv_norm_out": "Encoder.Chain_2.GroupNorm", + "decoder.mid_block.resnets.0.norm1": "Decoder.Chain_1.Chain_1.Resnet_1.Chain.GroupNorm_1", + "decoder.mid_block.resnets.0.norm2": "Decoder.Chain_1.Chain_1.Resnet_1.Chain.GroupNorm_2", + "decoder.mid_block.attentions.0.group_norm": "Decoder.Chain_1.Chain_1.Residual.GroupNorm", + "decoder.mid_block.resnets.1.norm1": "Decoder.Chain_1.Chain_1.Resnet_2.Chain.GroupNorm_1", + "decoder.mid_block.resnets.1.norm2": "Decoder.Chain_1.Chain_1.Resnet_2.Chain.GroupNorm_2", + "decoder.up_blocks.0.resnets.0.norm1": "Decoder.Chain_1.Chain_2.Resnet_1.Chain.GroupNorm_1", + "decoder.up_blocks.0.resnets.0.norm2": "Decoder.Chain_1.Chain_2.Resnet_1.Chain.GroupNorm_2", + "decoder.up_blocks.0.resnets.1.norm1": "Decoder.Chain_1.Chain_2.Resnet_2.Chain.GroupNorm_1", + "decoder.up_blocks.0.resnets.1.norm2": "Decoder.Chain_1.Chain_2.Resnet_2.Chain.GroupNorm_2", + "decoder.up_blocks.0.resnets.2.norm1": "Decoder.Chain_1.Chain_2.Resnet_3.Chain.GroupNorm_1", + "decoder.up_blocks.0.resnets.2.norm2": "Decoder.Chain_1.Chain_2.Resnet_3.Chain.GroupNorm_2", + "decoder.up_blocks.1.resnets.0.norm1": "Decoder.Chain_1.Chain_3.Resnet_1.Chain.GroupNorm_1", + "decoder.up_blocks.1.resnets.0.norm2": "Decoder.Chain_1.Chain_3.Resnet_1.Chain.GroupNorm_2", + "decoder.up_blocks.1.resnets.1.norm1": "Decoder.Chain_1.Chain_3.Resnet_2.Chain.GroupNorm_1", + "decoder.up_blocks.1.resnets.1.norm2": "Decoder.Chain_1.Chain_3.Resnet_2.Chain.GroupNorm_2", + "decoder.up_blocks.1.resnets.2.norm1": "Decoder.Chain_1.Chain_3.Resnet_3.Chain.GroupNorm_1", + "decoder.up_blocks.1.resnets.2.norm2": "Decoder.Chain_1.Chain_3.Resnet_3.Chain.GroupNorm_2", + "decoder.up_blocks.2.resnets.0.norm1": "Decoder.Chain_1.Chain_4.Resnet_1.Chain.GroupNorm_1", + "encoder.down_blocks.2.resnets.0.conv2": "Encoder.Chain_1.Chain_3.Resnet_1.Chain.Conv2d_2", + "encoder.down_blocks.2.resnets.1.conv1": "Encoder.Chain_1.Chain_3.Resnet_2.Chain.Conv2d_1", + "encoder.down_blocks.2.resnets.1.conv2": "Encoder.Chain_1.Chain_3.Resnet_2.Chain.Conv2d_2", + "encoder.down_blocks.2.downsamplers.0.conv": "Encoder.Chain_1.Chain_3.Downsample.Conv2d", + "encoder.down_blocks.3.resnets.0.conv1": "Encoder.Chain_1.Chain_4.Resnet_1.Chain.Conv2d_1", + "encoder.down_blocks.3.resnets.0.conv2": "Encoder.Chain_1.Chain_4.Resnet_1.Chain.Conv2d_2", + "encoder.down_blocks.3.resnets.1.conv1": "Encoder.Chain_1.Chain_4.Resnet_2.Chain.Conv2d_1", + "encoder.down_blocks.3.resnets.1.conv2": "Encoder.Chain_1.Chain_4.Resnet_2.Chain.Conv2d_2", + "encoder.mid_block.resnets.0.conv1": "Encoder.Chain_1.Chain_5.Resnet_1.Chain.Conv2d_1", + "encoder.mid_block.resnets.0.conv2": "Encoder.Chain_1.Chain_5.Resnet_1.Chain.Conv2d_2", + "encoder.mid_block.resnets.1.conv1": "Encoder.Chain_1.Chain_5.Resnet_2.Chain.Conv2d_1", + "encoder.mid_block.resnets.1.conv2": "Encoder.Chain_1.Chain_5.Resnet_2.Chain.Conv2d_2", + "decoder.mid_block.resnets.0.conv1": "Decoder.Chain_1.Chain_1.Resnet_1.Chain.Conv2d_1", + "decoder.mid_block.resnets.0.conv2": "Decoder.Chain_1.Chain_1.Resnet_1.Chain.Conv2d_2", + "decoder.mid_block.resnets.1.conv1": "Decoder.Chain_1.Chain_1.Resnet_2.Chain.Conv2d_1", + "decoder.mid_block.resnets.1.conv2": "Decoder.Chain_1.Chain_1.Resnet_2.Chain.Conv2d_2", + "decoder.up_blocks.0.resnets.0.conv1": "Decoder.Chain_1.Chain_2.Resnet_1.Chain.Conv2d_1", + "decoder.up_blocks.0.resnets.0.conv2": "Decoder.Chain_1.Chain_2.Resnet_1.Chain.Conv2d_2", + "decoder.up_blocks.0.resnets.1.conv1": "Decoder.Chain_1.Chain_2.Resnet_2.Chain.Conv2d_1", + "decoder.up_blocks.0.resnets.1.conv2": "Decoder.Chain_1.Chain_2.Resnet_2.Chain.Conv2d_2", + "decoder.up_blocks.0.resnets.2.conv1": "Decoder.Chain_1.Chain_2.Resnet_3.Chain.Conv2d_1", + "decoder.up_blocks.0.resnets.2.conv2": "Decoder.Chain_1.Chain_2.Resnet_3.Chain.Conv2d_2", + "decoder.up_blocks.0.upsamplers.0.conv": "Decoder.Chain_1.Chain_2.Upsample.Conv2d", + "decoder.up_blocks.1.resnets.0.conv1": "Decoder.Chain_1.Chain_3.Resnet_1.Chain.Conv2d_1", + "decoder.up_blocks.1.resnets.0.conv2": "Decoder.Chain_1.Chain_3.Resnet_1.Chain.Conv2d_2", + "decoder.up_blocks.1.resnets.1.conv1": "Decoder.Chain_1.Chain_3.Resnet_2.Chain.Conv2d_1", + "decoder.up_blocks.1.resnets.1.conv2": "Decoder.Chain_1.Chain_3.Resnet_2.Chain.Conv2d_2", + "decoder.up_blocks.1.resnets.2.conv1": "Decoder.Chain_1.Chain_3.Resnet_3.Chain.Conv2d_1", + "decoder.up_blocks.1.resnets.2.conv2": "Decoder.Chain_1.Chain_3.Resnet_3.Chain.Conv2d_2", + "decoder.up_blocks.1.upsamplers.0.conv": "Decoder.Chain_1.Chain_3.Upsample.Conv2d", + "encoder.down_blocks.2.resnets.0.conv_shortcut": "Encoder.Chain_1.Chain_3.Resnet_1.Conv2d", + "encoder.mid_block.attentions.0.to_q": "Encoder.Chain_1.Chain_5.Residual.SelfAttention2d.Distribute.Linear_1", + "encoder.mid_block.attentions.0.to_k": "Encoder.Chain_1.Chain_5.Residual.SelfAttention2d.Distribute.Linear_2", + "encoder.mid_block.attentions.0.to_v": "Encoder.Chain_1.Chain_5.Residual.SelfAttention2d.Distribute.Linear_3", + "encoder.mid_block.attentions.0.to_out.0": "Encoder.Chain_1.Chain_5.Residual.SelfAttention2d.Linear", + "decoder.mid_block.attentions.0.to_q": "Decoder.Chain_1.Chain_1.Residual.SelfAttention2d.Distribute.Linear_1", + "decoder.mid_block.attentions.0.to_k": "Decoder.Chain_1.Chain_1.Residual.SelfAttention2d.Distribute.Linear_2", + "decoder.mid_block.attentions.0.to_v": "Decoder.Chain_1.Chain_1.Residual.SelfAttention2d.Distribute.Linear_3", + "decoder.mid_block.attentions.0.to_out.0": "Decoder.Chain_1.Chain_1.Residual.SelfAttention2d.Linear", + "encoder.conv_out": "Encoder.Chain_2.Conv2d", + "quant_conv": "Encoder.Chain_3.Conv2d", + "post_quant_conv": "Decoder.Conv2d_1", + "decoder.conv_in": "Decoder.Conv2d_2", + "decoder.up_blocks.2.resnets.0.conv1": "Decoder.Chain_1.Chain_4.Resnet_1.Chain.Conv2d_1", + "decoder.up_blocks.2.resnets.0.conv_shortcut": "Decoder.Chain_1.Chain_4.Resnet_1.Conv2d", + "decoder.up_blocks.3.resnets.0.conv1": "Decoder.Chain_1.Chain_5.Resnet_1.Chain.Conv2d_1", + "decoder.up_blocks.3.resnets.0.conv_shortcut": "Decoder.Chain_1.Chain_5.Resnet_1.Conv2d", + "decoder.conv_out": "Decoder.Chain_2.Conv2d" + }, + "regex_map": {}, + "ignore_prefixes": [], + "source_aliases": { + "encoder.mid_block.attentions.0.value": "encoder.mid_block.attentions.0.to_v", + "decoder.mid_block.attentions.0.value": "decoder.mid_block.attentions.0.to_v", + "decoder.mid_block.attentions.0.proj_attn": "decoder.mid_block.attentions.0.to_out.0", + "encoder.mid_block.attentions.0.proj_attn": "encoder.mid_block.attentions.0.to_out.0", + "encoder.mid_block.attentions.0.key": "encoder.mid_block.attentions.0.to_k", + "decoder.mid_block.attentions.0.key": "decoder.mid_block.attentions.0.to_k", + "decoder.mid_block.attentions.0.query": "decoder.mid_block.attentions.0.to_q", + "encoder.mid_block.attentions.0.query": "encoder.mid_block.attentions.0.to_q" + }, + "reshapes": { + "Encoder.Chain_1.Chain_5.Residual.SelfAttention2d.Distribute.Linear_1.weight": [ + 512, + 512 + ], + "Encoder.Chain_1.Chain_5.Residual.SelfAttention2d.Distribute.Linear_2.weight": [ + 512, + 512 + ], + "Encoder.Chain_1.Chain_5.Residual.SelfAttention2d.Distribute.Linear_3.weight": [ + 512, + 512 + ], + "Encoder.Chain_1.Chain_5.Residual.SelfAttention2d.Linear.weight": [ + 512, + 512 + ], + "Decoder.Chain_1.Chain_1.Residual.SelfAttention2d.Distribute.Linear_1.weight": [ + 512, + 512 + ], + "Decoder.Chain_1.Chain_1.Residual.SelfAttention2d.Distribute.Linear_2.weight": [ + 512, + 512 + ], + "Decoder.Chain_1.Chain_1.Residual.SelfAttention2d.Distribute.Linear_3.weight": [ + 512, + 512 + ], + "Decoder.Chain_1.Chain_1.Residual.SelfAttention2d.Linear.weight": [ + 512, + 512 + ] + } +} \ No newline at end of file diff --git a/imaginairy/weight_management/weight_maps/Diffusers-Controlnet-SD15.weightmap.json b/imaginairy/weight_management/weight_maps/Diffusers-Controlnet-SD15.weightmap.json new file mode 100644 index 0000000..f10b0d8 --- /dev/null +++ b/imaginairy/weight_management/weight_maps/Diffusers-Controlnet-SD15.weightmap.json @@ -0,0 +1,199 @@ +{ + "name_map": { + "time_embedding.linear_1": "TimestepEncoder.RangeEncoder.Linear_1", + "time_embedding.linear_2": "TimestepEncoder.RangeEncoder.Linear_2", + "down_blocks.2.resnets.0.time_emb_proj": "DownBlocks.Chain_8.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "down_blocks.2.attentions.0.transformer_blocks.0.attn1.to_out.0": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Linear", + "down_blocks.2.attentions.0.transformer_blocks.0.attn2.to_out.0": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Linear", + "down_blocks.2.resnets.1.time_emb_proj": "DownBlocks.Chain_9.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "down_blocks.2.attentions.1.transformer_blocks.0.attn1.to_out.0": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Linear", + "down_blocks.2.attentions.1.transformer_blocks.0.attn2.to_out.0": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Linear", + "down_blocks.3.resnets.0.time_emb_proj": "DownBlocks.Chain_11.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "down_blocks.3.resnets.1.time_emb_proj": "DownBlocks.Chain_12.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "mid_block.resnets.0.time_emb_proj": "MiddleBlock.ResidualBlock_1.Chain.RangeAdapter2d.Chain.Linear", + "mid_block.attentions.0.transformer_blocks.0.attn1.to_out.0": "MiddleBlock.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Linear", + "mid_block.attentions.0.transformer_blocks.0.attn2.to_out.0": "MiddleBlock.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Linear", + "mid_block.resnets.1.time_emb_proj": "MiddleBlock.ResidualBlock_2.Chain.RangeAdapter2d.Chain.Linear", + "conv_in": "DownBlocks.Chain_1.Conv2d", + "controlnet_cond_embedding.conv_in": "DownBlocks.Chain_1.Residual.ConditionEncoder.Chain_1.Conv2d", + "controlnet_cond_embedding.blocks.0": "DownBlocks.Chain_1.Residual.ConditionEncoder.Chain_2.Conv2d_1", + "controlnet_cond_embedding.blocks.1": "DownBlocks.Chain_1.Residual.ConditionEncoder.Chain_2.Conv2d_2", + "controlnet_cond_embedding.blocks.2": "DownBlocks.Chain_1.Residual.ConditionEncoder.Chain_3.Conv2d_1", + "controlnet_cond_embedding.blocks.3": "DownBlocks.Chain_1.Residual.ConditionEncoder.Chain_3.Conv2d_2", + "controlnet_cond_embedding.blocks.4": "DownBlocks.Chain_1.Residual.ConditionEncoder.Chain_4.Conv2d_1", + "controlnet_cond_embedding.blocks.5": "DownBlocks.Chain_1.Residual.ConditionEncoder.Chain_4.Conv2d_2", + "controlnet_cond_embedding.conv_out": "DownBlocks.Chain_1.Residual.ConditionEncoder.Conv2d", + "down_blocks.0.resnets.0.norm1": "DownBlocks.Chain_2.ResidualBlock.Chain.GroupNorm_1", + "down_blocks.0.resnets.0.norm2": "DownBlocks.Chain_2.ResidualBlock.Chain.GroupNorm_2", + "down_blocks.0.attentions.0.norm": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_1.GroupNorm", + "down_blocks.0.resnets.1.norm1": "DownBlocks.Chain_3.ResidualBlock.Chain.GroupNorm_1", + "down_blocks.0.resnets.1.norm2": "DownBlocks.Chain_3.ResidualBlock.Chain.GroupNorm_2", + "down_blocks.0.attentions.1.norm": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_1.GroupNorm", + "down_blocks.1.resnets.0.norm1": "DownBlocks.Chain_5.ResidualBlock.Chain.GroupNorm_1", + "down_blocks.0.resnets.0.conv1": "DownBlocks.Chain_2.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "down_blocks.0.resnets.0.conv2": "DownBlocks.Chain_2.ResidualBlock.Chain.Conv2d", + "down_blocks.0.resnets.1.conv1": "DownBlocks.Chain_3.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "down_blocks.0.resnets.1.conv2": "DownBlocks.Chain_3.ResidualBlock.Chain.Conv2d", + "down_blocks.0.downsamplers.0.conv": "DownBlocks.Chain_4.Downsample.Conv2d", + "down_blocks.0.resnets.0.time_emb_proj": "DownBlocks.Chain_2.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "down_blocks.0.attentions.0.transformer_blocks.0.ff.net.2": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_2", + "down_blocks.0.resnets.1.time_emb_proj": "DownBlocks.Chain_3.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "down_blocks.0.attentions.1.transformer_blocks.0.ff.net.2": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_2", + "controlnet_down_blocks.0": "DownBlocks.Chain_1.Passthrough.Conv2d", + "down_blocks.0.attentions.0.proj_in": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_1.Conv2d", + "down_blocks.0.attentions.0.proj_out": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_3.Conv2d", + "controlnet_down_blocks.1": "DownBlocks.Chain_2.Passthrough.Conv2d", + "down_blocks.0.attentions.1.proj_in": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_1.Conv2d", + "down_blocks.0.attentions.1.proj_out": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_3.Conv2d", + "controlnet_down_blocks.2": "DownBlocks.Chain_3.Passthrough.Conv2d", + "controlnet_down_blocks.3": "DownBlocks.Chain_4.Passthrough.Conv2d", + "down_blocks.0.attentions.0.transformer_blocks.0.norm1": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.LayerNorm", + "down_blocks.0.attentions.0.transformer_blocks.0.norm2": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.LayerNorm", + "down_blocks.0.attentions.0.transformer_blocks.0.norm3": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.LayerNorm", + "down_blocks.0.attentions.1.transformer_blocks.0.norm1": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.LayerNorm", + "down_blocks.0.attentions.1.transformer_blocks.0.norm2": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.LayerNorm", + "down_blocks.0.attentions.1.transformer_blocks.0.norm3": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.LayerNorm", + "down_blocks.0.attentions.0.transformer_blocks.0.attn1.to_q": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.0.attentions.0.transformer_blocks.0.attn1.to_k": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.0.attentions.0.transformer_blocks.0.attn1.to_v": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.0.attentions.0.transformer_blocks.0.attn2.to_q": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.0.attentions.1.transformer_blocks.0.attn1.to_q": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.0.attentions.1.transformer_blocks.0.attn1.to_k": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.0.attentions.1.transformer_blocks.0.attn1.to_v": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.0.attentions.1.transformer_blocks.0.attn2.to_q": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.0.attentions.0.transformer_blocks.0.attn1.to_out.0": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Linear", + "down_blocks.0.attentions.0.transformer_blocks.0.attn2.to_out.0": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Linear", + "down_blocks.0.attentions.1.transformer_blocks.0.attn1.to_out.0": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Linear", + "down_blocks.0.attentions.1.transformer_blocks.0.attn2.to_out.0": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Linear", + "down_blocks.0.attentions.0.transformer_blocks.0.attn2.to_k": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.0.attentions.0.transformer_blocks.0.attn2.to_v": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.0.attentions.1.transformer_blocks.0.attn2.to_k": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.0.attentions.1.transformer_blocks.0.attn2.to_v": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.0.attentions.0.transformer_blocks.0.ff.net.0.proj": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_1", + "down_blocks.0.attentions.1.transformer_blocks.0.ff.net.0.proj": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_1", + "down_blocks.1.resnets.0.conv1": "DownBlocks.Chain_5.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "down_blocks.1.resnets.0.time_emb_proj": "DownBlocks.Chain_5.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "down_blocks.1.resnets.1.time_emb_proj": "DownBlocks.Chain_6.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "down_blocks.1.resnets.0.norm2": "DownBlocks.Chain_5.ResidualBlock.Chain.GroupNorm_2", + "down_blocks.1.attentions.0.norm": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_1.GroupNorm", + "down_blocks.1.resnets.1.norm1": "DownBlocks.Chain_6.ResidualBlock.Chain.GroupNorm_1", + "down_blocks.1.resnets.1.norm2": "DownBlocks.Chain_6.ResidualBlock.Chain.GroupNorm_2", + "down_blocks.1.attentions.1.norm": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_1.GroupNorm", + "down_blocks.2.resnets.0.norm1": "DownBlocks.Chain_8.ResidualBlock.Chain.GroupNorm_1", + "down_blocks.1.resnets.0.conv2": "DownBlocks.Chain_5.ResidualBlock.Chain.Conv2d", + "down_blocks.1.resnets.1.conv1": "DownBlocks.Chain_6.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "down_blocks.1.resnets.1.conv2": "DownBlocks.Chain_6.ResidualBlock.Chain.Conv2d", + "down_blocks.1.downsamplers.0.conv": "DownBlocks.Chain_7.Downsample.Conv2d", + "down_blocks.1.resnets.0.conv_shortcut": "DownBlocks.Chain_5.ResidualBlock.Conv2d", + "down_blocks.1.attentions.0.proj_in": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_1.Conv2d", + "down_blocks.1.attentions.0.proj_out": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_3.Conv2d", + "controlnet_down_blocks.4": "DownBlocks.Chain_5.Passthrough.Conv2d", + "down_blocks.1.attentions.1.proj_in": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_1.Conv2d", + "down_blocks.1.attentions.1.proj_out": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_3.Conv2d", + "controlnet_down_blocks.5": "DownBlocks.Chain_6.Passthrough.Conv2d", + "controlnet_down_blocks.6": "DownBlocks.Chain_7.Passthrough.Conv2d", + "down_blocks.1.attentions.0.transformer_blocks.0.norm1": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.LayerNorm", + "down_blocks.1.attentions.0.transformer_blocks.0.norm2": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.LayerNorm", + "down_blocks.1.attentions.0.transformer_blocks.0.norm3": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.LayerNorm", + "down_blocks.1.attentions.1.transformer_blocks.0.norm1": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.LayerNorm", + "down_blocks.1.attentions.1.transformer_blocks.0.norm2": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.LayerNorm", + "down_blocks.1.attentions.1.transformer_blocks.0.norm3": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.LayerNorm", + "down_blocks.1.attentions.0.transformer_blocks.0.attn1.to_q": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.1.attentions.0.transformer_blocks.0.attn1.to_k": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.1.attentions.0.transformer_blocks.0.attn1.to_v": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.1.attentions.0.transformer_blocks.0.attn2.to_q": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.1.attentions.1.transformer_blocks.0.attn1.to_q": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.1.attentions.1.transformer_blocks.0.attn1.to_k": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.1.attentions.1.transformer_blocks.0.attn1.to_v": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.1.attentions.1.transformer_blocks.0.attn2.to_q": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.1.attentions.0.transformer_blocks.0.attn1.to_out.0": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Linear", + "down_blocks.1.attentions.0.transformer_blocks.0.attn2.to_out.0": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Linear", + "down_blocks.1.attentions.1.transformer_blocks.0.attn1.to_out.0": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Linear", + "down_blocks.1.attentions.1.transformer_blocks.0.attn2.to_out.0": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Linear", + "down_blocks.1.attentions.0.transformer_blocks.0.attn2.to_k": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.1.attentions.0.transformer_blocks.0.attn2.to_v": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.1.attentions.1.transformer_blocks.0.attn2.to_k": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.1.attentions.1.transformer_blocks.0.attn2.to_v": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.1.attentions.0.transformer_blocks.0.ff.net.0.proj": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_1", + "down_blocks.1.attentions.1.transformer_blocks.0.ff.net.0.proj": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_1", + "down_blocks.1.attentions.0.transformer_blocks.0.ff.net.2": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_2", + "down_blocks.1.attentions.1.transformer_blocks.0.ff.net.2": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_2", + "down_blocks.2.resnets.0.conv1": "DownBlocks.Chain_8.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "down_blocks.2.resnets.0.norm2": "DownBlocks.Chain_8.ResidualBlock.Chain.GroupNorm_2", + "down_blocks.2.attentions.0.norm": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_1.GroupNorm", + "down_blocks.2.resnets.1.norm1": "DownBlocks.Chain_9.ResidualBlock.Chain.GroupNorm_1", + "down_blocks.2.resnets.1.norm2": "DownBlocks.Chain_9.ResidualBlock.Chain.GroupNorm_2", + "down_blocks.2.attentions.1.norm": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_1.GroupNorm", + "down_blocks.3.resnets.0.norm1": "DownBlocks.Chain_11.ResidualBlock.Chain.GroupNorm_1", + "down_blocks.3.resnets.0.norm2": "DownBlocks.Chain_11.ResidualBlock.Chain.GroupNorm_2", + "down_blocks.3.resnets.1.norm1": "DownBlocks.Chain_12.ResidualBlock.Chain.GroupNorm_1", + "down_blocks.3.resnets.1.norm2": "DownBlocks.Chain_12.ResidualBlock.Chain.GroupNorm_2", + "mid_block.resnets.0.norm1": "MiddleBlock.ResidualBlock_1.Chain.GroupNorm_1", + "mid_block.resnets.0.norm2": "MiddleBlock.ResidualBlock_1.Chain.GroupNorm_2", + "mid_block.attentions.0.norm": "MiddleBlock.CLIPLCrossAttention.Chain_1.GroupNorm", + "mid_block.resnets.1.norm1": "MiddleBlock.ResidualBlock_2.Chain.GroupNorm_1", + "mid_block.resnets.1.norm2": "MiddleBlock.ResidualBlock_2.Chain.GroupNorm_2", + "down_blocks.2.resnets.0.conv2": "DownBlocks.Chain_8.ResidualBlock.Chain.Conv2d", + "down_blocks.2.resnets.1.conv1": "DownBlocks.Chain_9.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "down_blocks.2.resnets.1.conv2": "DownBlocks.Chain_9.ResidualBlock.Chain.Conv2d", + "down_blocks.2.downsamplers.0.conv": "DownBlocks.Chain_10.Downsample.Conv2d", + "down_blocks.3.resnets.0.conv1": "DownBlocks.Chain_11.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "down_blocks.3.resnets.0.conv2": "DownBlocks.Chain_11.ResidualBlock.Chain.Conv2d", + "down_blocks.3.resnets.1.conv1": "DownBlocks.Chain_12.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "down_blocks.3.resnets.1.conv2": "DownBlocks.Chain_12.ResidualBlock.Chain.Conv2d", + "mid_block.resnets.0.conv1": "MiddleBlock.ResidualBlock_1.Chain.RangeAdapter2d.Conv2d", + "mid_block.resnets.0.conv2": "MiddleBlock.ResidualBlock_1.Chain.Conv2d", + "mid_block.resnets.1.conv1": "MiddleBlock.ResidualBlock_2.Chain.RangeAdapter2d.Conv2d", + "mid_block.resnets.1.conv2": "MiddleBlock.ResidualBlock_2.Chain.Conv2d", + "down_blocks.2.resnets.0.conv_shortcut": "DownBlocks.Chain_8.ResidualBlock.Conv2d", + "down_blocks.2.attentions.0.proj_in": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_1.Conv2d", + "down_blocks.2.attentions.0.proj_out": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_3.Conv2d", + "controlnet_down_blocks.7": "DownBlocks.Chain_8.Passthrough.Conv2d", + "down_blocks.2.attentions.1.proj_in": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_1.Conv2d", + "down_blocks.2.attentions.1.proj_out": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_3.Conv2d", + "controlnet_down_blocks.8": "DownBlocks.Chain_9.Passthrough.Conv2d", + "controlnet_down_blocks.9": "DownBlocks.Chain_10.Passthrough.Conv2d", + "controlnet_down_blocks.10": "DownBlocks.Chain_11.Passthrough.Conv2d", + "controlnet_down_blocks.11": "DownBlocks.Chain_12.Passthrough.Conv2d", + "mid_block.attentions.0.proj_in": "MiddleBlock.CLIPLCrossAttention.Chain_1.Conv2d", + "mid_block.attentions.0.proj_out": "MiddleBlock.CLIPLCrossAttention.Chain_3.Conv2d", + "controlnet_mid_block": "MiddleBlock.Passthrough.Conv2d", + "down_blocks.2.attentions.0.transformer_blocks.0.norm1": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.0.norm2": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.0.norm3": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.0.norm1": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.0.norm2": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.0.norm3": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.LayerNorm", + "mid_block.attentions.0.transformer_blocks.0.norm1": "MiddleBlock.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.LayerNorm", + "mid_block.attentions.0.transformer_blocks.0.norm2": "MiddleBlock.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.LayerNorm", + "mid_block.attentions.0.transformer_blocks.0.norm3": "MiddleBlock.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.0.attn1.to_q": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.0.attn1.to_k": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.0.attn1.to_v": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.2.attentions.0.transformer_blocks.0.attn2.to_q": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.0.attn1.to_q": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.0.attn1.to_k": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.0.attn1.to_v": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.2.attentions.1.transformer_blocks.0.attn2.to_q": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_1", + "mid_block.attentions.0.transformer_blocks.0.attn1.to_q": "MiddleBlock.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_1", + "mid_block.attentions.0.transformer_blocks.0.attn1.to_k": "MiddleBlock.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_2", + "mid_block.attentions.0.transformer_blocks.0.attn1.to_v": "MiddleBlock.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_3", + "mid_block.attentions.0.transformer_blocks.0.attn2.to_q": "MiddleBlock.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.0.attn2.to_k": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.0.attn2.to_v": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.2.attentions.1.transformer_blocks.0.attn2.to_k": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.0.attn2.to_v": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_3", + "mid_block.attentions.0.transformer_blocks.0.attn2.to_k": "MiddleBlock.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_2", + "mid_block.attentions.0.transformer_blocks.0.attn2.to_v": "MiddleBlock.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.2.attentions.0.transformer_blocks.0.ff.net.0.proj": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.0.ff.net.0.proj": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_1", + "mid_block.attentions.0.transformer_blocks.0.ff.net.0.proj": "MiddleBlock.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.0.ff.net.2": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.0.ff.net.2": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_2", + "mid_block.attentions.0.transformer_blocks.0.ff.net.2": "MiddleBlock.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_2" + }, + "regex_map": {}, + "ignore_prefixes": [], + "source_aliases": {}, + "reshapes": {} +} \ No newline at end of file diff --git a/imaginairy/weight_management/weight_maps/Diffusers-IPAdapter-SD15.weightmap.json b/imaginairy/weight_management/weight_maps/Diffusers-IPAdapter-SD15.weightmap.json new file mode 100644 index 0000000..f5bbeee --- /dev/null +++ b/imaginairy/weight_management/weight_maps/Diffusers-IPAdapter-SD15.weightmap.json @@ -0,0 +1,44 @@ +{ + "name_map": { + "image_proj.proj.weight": "image_proj.Linear.weight", + "image_proj.proj.bias": "image_proj.Linear.bias", + "image_proj.norm.weight": "image_proj.LayerNorm.weight", + "image_proj.norm.bias": "image_proj.LayerNorm.bias", + "ip_adapter.1.to_k_ip.weight": "ip_adapter.000.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.1.to_v_ip.weight": "ip_adapter.000.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.3.to_k_ip.weight": "ip_adapter.001.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.3.to_v_ip.weight": "ip_adapter.001.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.5.to_k_ip.weight": "ip_adapter.002.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.5.to_v_ip.weight": "ip_adapter.002.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.7.to_k_ip.weight": "ip_adapter.003.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.7.to_v_ip.weight": "ip_adapter.003.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.9.to_k_ip.weight": "ip_adapter.004.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.9.to_v_ip.weight": "ip_adapter.004.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.11.to_k_ip.weight": "ip_adapter.005.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.11.to_v_ip.weight": "ip_adapter.005.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.31.to_k_ip.weight": "ip_adapter.006.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.31.to_v_ip.weight": "ip_adapter.006.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.13.to_k_ip.weight": "ip_adapter.007.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.13.to_v_ip.weight": "ip_adapter.007.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.15.to_k_ip.weight": "ip_adapter.008.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.15.to_v_ip.weight": "ip_adapter.008.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.17.to_k_ip.weight": "ip_adapter.009.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.17.to_v_ip.weight": "ip_adapter.009.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.19.to_k_ip.weight": "ip_adapter.010.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.19.to_v_ip.weight": "ip_adapter.010.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.21.to_k_ip.weight": "ip_adapter.011.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.21.to_v_ip.weight": "ip_adapter.011.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.23.to_k_ip.weight": "ip_adapter.012.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.23.to_v_ip.weight": "ip_adapter.012.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.25.to_k_ip.weight": "ip_adapter.013.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.25.to_v_ip.weight": "ip_adapter.013.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.27.to_k_ip.weight": "ip_adapter.014.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.27.to_v_ip.weight": "ip_adapter.014.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.29.to_k_ip.weight": "ip_adapter.015.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.29.to_v_ip.weight": "ip_adapter.015.Distribute.Parallel_2.Chain_2.Linear.weight" + }, + "regex_map": {}, + "ignore_prefixes": [], + "source_aliases": {}, + "reshapes": {} +} \ No newline at end of file diff --git a/imaginairy/weight_management/weight_maps/Diffusers-IPAdapter-SDXL.weightmap.json b/imaginairy/weight_management/weight_maps/Diffusers-IPAdapter-SDXL.weightmap.json new file mode 100644 index 0000000..0963ae5 --- /dev/null +++ b/imaginairy/weight_management/weight_maps/Diffusers-IPAdapter-SDXL.weightmap.json @@ -0,0 +1,152 @@ +{ + "name_map": { + "image_proj.proj.weight": "image_proj.Linear.weight", + "image_proj.proj.bias": "image_proj.Linear.bias", + "image_proj.norm.weight": "image_proj.LayerNorm.weight", + "image_proj.norm.bias": "image_proj.LayerNorm.bias", + "ip_adapter.1.to_k_ip.weight": "ip_adapter.000.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.1.to_v_ip.weight": "ip_adapter.000.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.3.to_k_ip.weight": "ip_adapter.001.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.3.to_v_ip.weight": "ip_adapter.001.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.5.to_k_ip.weight": "ip_adapter.002.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.5.to_v_ip.weight": "ip_adapter.002.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.7.to_k_ip.weight": "ip_adapter.003.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.7.to_v_ip.weight": "ip_adapter.003.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.9.to_k_ip.weight": "ip_adapter.004.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.9.to_v_ip.weight": "ip_adapter.004.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.11.to_k_ip.weight": "ip_adapter.005.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.11.to_v_ip.weight": "ip_adapter.005.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.13.to_k_ip.weight": "ip_adapter.006.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.13.to_v_ip.weight": "ip_adapter.006.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.15.to_k_ip.weight": "ip_adapter.007.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.15.to_v_ip.weight": "ip_adapter.007.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.17.to_k_ip.weight": "ip_adapter.008.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.17.to_v_ip.weight": "ip_adapter.008.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.19.to_k_ip.weight": "ip_adapter.009.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.19.to_v_ip.weight": "ip_adapter.009.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.21.to_k_ip.weight": "ip_adapter.010.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.21.to_v_ip.weight": "ip_adapter.010.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.23.to_k_ip.weight": "ip_adapter.011.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.23.to_v_ip.weight": "ip_adapter.011.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.25.to_k_ip.weight": "ip_adapter.012.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.25.to_v_ip.weight": "ip_adapter.012.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.27.to_k_ip.weight": "ip_adapter.013.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.27.to_v_ip.weight": "ip_adapter.013.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.29.to_k_ip.weight": "ip_adapter.014.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.29.to_v_ip.weight": "ip_adapter.014.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.31.to_k_ip.weight": "ip_adapter.015.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.31.to_v_ip.weight": "ip_adapter.015.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.33.to_k_ip.weight": "ip_adapter.016.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.33.to_v_ip.weight": "ip_adapter.016.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.35.to_k_ip.weight": "ip_adapter.017.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.35.to_v_ip.weight": "ip_adapter.017.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.37.to_k_ip.weight": "ip_adapter.018.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.37.to_v_ip.weight": "ip_adapter.018.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.39.to_k_ip.weight": "ip_adapter.019.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.39.to_v_ip.weight": "ip_adapter.019.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.41.to_k_ip.weight": "ip_adapter.020.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.41.to_v_ip.weight": "ip_adapter.020.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.43.to_k_ip.weight": "ip_adapter.021.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.43.to_v_ip.weight": "ip_adapter.021.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.45.to_k_ip.weight": "ip_adapter.022.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.45.to_v_ip.weight": "ip_adapter.022.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.47.to_k_ip.weight": "ip_adapter.023.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.47.to_v_ip.weight": "ip_adapter.023.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.121.to_k_ip.weight": "ip_adapter.024.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.121.to_v_ip.weight": "ip_adapter.024.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.123.to_k_ip.weight": "ip_adapter.025.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.123.to_v_ip.weight": "ip_adapter.025.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.125.to_k_ip.weight": "ip_adapter.026.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.125.to_v_ip.weight": "ip_adapter.026.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.127.to_k_ip.weight": "ip_adapter.027.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.127.to_v_ip.weight": "ip_adapter.027.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.129.to_k_ip.weight": "ip_adapter.028.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.129.to_v_ip.weight": "ip_adapter.028.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.131.to_k_ip.weight": "ip_adapter.029.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.131.to_v_ip.weight": "ip_adapter.029.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.133.to_k_ip.weight": "ip_adapter.030.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.133.to_v_ip.weight": "ip_adapter.030.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.135.to_k_ip.weight": "ip_adapter.031.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.135.to_v_ip.weight": "ip_adapter.031.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.137.to_k_ip.weight": "ip_adapter.032.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.137.to_v_ip.weight": "ip_adapter.032.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.139.to_k_ip.weight": "ip_adapter.033.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.139.to_v_ip.weight": "ip_adapter.033.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.49.to_k_ip.weight": "ip_adapter.034.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.49.to_v_ip.weight": "ip_adapter.034.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.51.to_k_ip.weight": "ip_adapter.035.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.51.to_v_ip.weight": "ip_adapter.035.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.53.to_k_ip.weight": "ip_adapter.036.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.53.to_v_ip.weight": "ip_adapter.036.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.55.to_k_ip.weight": "ip_adapter.037.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.55.to_v_ip.weight": "ip_adapter.037.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.57.to_k_ip.weight": "ip_adapter.038.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.57.to_v_ip.weight": "ip_adapter.038.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.59.to_k_ip.weight": "ip_adapter.039.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.59.to_v_ip.weight": "ip_adapter.039.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.61.to_k_ip.weight": "ip_adapter.040.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.61.to_v_ip.weight": "ip_adapter.040.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.63.to_k_ip.weight": "ip_adapter.041.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.63.to_v_ip.weight": "ip_adapter.041.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.65.to_k_ip.weight": "ip_adapter.042.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.65.to_v_ip.weight": "ip_adapter.042.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.67.to_k_ip.weight": "ip_adapter.043.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.67.to_v_ip.weight": "ip_adapter.043.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.69.to_k_ip.weight": "ip_adapter.044.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.69.to_v_ip.weight": "ip_adapter.044.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.71.to_k_ip.weight": "ip_adapter.045.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.71.to_v_ip.weight": "ip_adapter.045.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.73.to_k_ip.weight": "ip_adapter.046.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.73.to_v_ip.weight": "ip_adapter.046.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.75.to_k_ip.weight": "ip_adapter.047.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.75.to_v_ip.weight": "ip_adapter.047.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.77.to_k_ip.weight": "ip_adapter.048.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.77.to_v_ip.weight": "ip_adapter.048.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.79.to_k_ip.weight": "ip_adapter.049.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.79.to_v_ip.weight": "ip_adapter.049.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.81.to_k_ip.weight": "ip_adapter.050.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.81.to_v_ip.weight": "ip_adapter.050.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.83.to_k_ip.weight": "ip_adapter.051.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.83.to_v_ip.weight": "ip_adapter.051.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.85.to_k_ip.weight": "ip_adapter.052.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.85.to_v_ip.weight": "ip_adapter.052.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.87.to_k_ip.weight": "ip_adapter.053.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.87.to_v_ip.weight": "ip_adapter.053.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.89.to_k_ip.weight": "ip_adapter.054.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.89.to_v_ip.weight": "ip_adapter.054.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.91.to_k_ip.weight": "ip_adapter.055.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.91.to_v_ip.weight": "ip_adapter.055.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.93.to_k_ip.weight": "ip_adapter.056.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.93.to_v_ip.weight": "ip_adapter.056.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.95.to_k_ip.weight": "ip_adapter.057.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.95.to_v_ip.weight": "ip_adapter.057.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.97.to_k_ip.weight": "ip_adapter.058.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.97.to_v_ip.weight": "ip_adapter.058.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.99.to_k_ip.weight": "ip_adapter.059.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.99.to_v_ip.weight": "ip_adapter.059.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.101.to_k_ip.weight": "ip_adapter.060.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.101.to_v_ip.weight": "ip_adapter.060.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.103.to_k_ip.weight": "ip_adapter.061.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.103.to_v_ip.weight": "ip_adapter.061.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.105.to_k_ip.weight": "ip_adapter.062.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.105.to_v_ip.weight": "ip_adapter.062.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.107.to_k_ip.weight": "ip_adapter.063.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.107.to_v_ip.weight": "ip_adapter.063.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.109.to_k_ip.weight": "ip_adapter.064.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.109.to_v_ip.weight": "ip_adapter.064.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.111.to_k_ip.weight": "ip_adapter.065.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.111.to_v_ip.weight": "ip_adapter.065.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.113.to_k_ip.weight": "ip_adapter.066.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.113.to_v_ip.weight": "ip_adapter.066.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.115.to_k_ip.weight": "ip_adapter.067.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.115.to_v_ip.weight": "ip_adapter.067.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.117.to_k_ip.weight": "ip_adapter.068.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.117.to_v_ip.weight": "ip_adapter.068.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.119.to_k_ip.weight": "ip_adapter.069.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.119.to_v_ip.weight": "ip_adapter.069.Distribute.Parallel_2.Chain_2.Linear.weight" + }, + "regex_map": {}, + "ignore_prefixes": [], + "source_aliases": {}, + "reshapes": {} +} \ No newline at end of file diff --git a/imaginairy/weight_management/weight_maps/Diffusers-IPAdapterPlus-SD15.weightmap.json b/imaginairy/weight_management/weight_maps/Diffusers-IPAdapterPlus-SD15.weightmap.json new file mode 100644 index 0000000..4b09224 --- /dev/null +++ b/imaginairy/weight_management/weight_maps/Diffusers-IPAdapterPlus-SD15.weightmap.json @@ -0,0 +1,96 @@ +{ + "name_map": { + "image_proj.latents": "image_proj.LatentsToken.Parameter.weight", + "image_proj.proj_in.weight": "image_proj.Linear_1.weight", + "image_proj.proj_in.bias": "image_proj.Linear_1.bias", + "image_proj.proj_out.weight": "image_proj.Linear_2.weight", + "image_proj.proj_out.bias": "image_proj.Linear_2.bias", + "image_proj.norm_out.weight": "image_proj.LayerNorm.weight", + "image_proj.norm_out.bias": "image_proj.LayerNorm.bias", + "image_proj.layers.0.0.norm1.weight": "image_proj.Transformer.TransformerLayer_1.Residual_1.PerceiverAttention.Distribute.LayerNorm_1.weight", + "image_proj.layers.0.0.norm1.bias": "image_proj.Transformer.TransformerLayer_1.Residual_1.PerceiverAttention.Distribute.LayerNorm_1.bias", + "image_proj.layers.0.0.norm2.weight": "image_proj.Transformer.TransformerLayer_1.Residual_1.PerceiverAttention.Distribute.LayerNorm_2.weight", + "image_proj.layers.0.0.norm2.bias": "image_proj.Transformer.TransformerLayer_1.Residual_1.PerceiverAttention.Distribute.LayerNorm_2.bias", + "image_proj.layers.0.0.to_q.weight": "image_proj.Transformer.TransformerLayer_1.Residual_1.PerceiverAttention.Parallel.Chain_2.Linear.weight", + "image_proj.layers.0.0.to_kv.weight": "image_proj.Transformer.TransformerLayer_1.Residual_1.PerceiverAttention.Parallel.Chain_1.Linear.weight", + "image_proj.layers.0.0.to_out.weight": "image_proj.Transformer.TransformerLayer_1.Residual_1.PerceiverAttention.Linear.weight", + "image_proj.layers.0.1.0.weight": "image_proj.Transformer.TransformerLayer_1.Residual_2.LayerNorm.weight", + "image_proj.layers.0.1.0.bias": "image_proj.Transformer.TransformerLayer_1.Residual_2.LayerNorm.bias", + "image_proj.layers.0.1.1.weight": "image_proj.Transformer.TransformerLayer_1.Residual_2.FeedForward.Linear_1.weight", + "image_proj.layers.0.1.3.weight": "image_proj.Transformer.TransformerLayer_1.Residual_2.FeedForward.Linear_2.weight", + "image_proj.layers.1.0.norm1.weight": "image_proj.Transformer.TransformerLayer_2.Residual_1.PerceiverAttention.Distribute.LayerNorm_1.weight", + "image_proj.layers.1.0.norm1.bias": "image_proj.Transformer.TransformerLayer_2.Residual_1.PerceiverAttention.Distribute.LayerNorm_1.bias", + "image_proj.layers.1.0.norm2.weight": "image_proj.Transformer.TransformerLayer_2.Residual_1.PerceiverAttention.Distribute.LayerNorm_2.weight", + "image_proj.layers.1.0.norm2.bias": "image_proj.Transformer.TransformerLayer_2.Residual_1.PerceiverAttention.Distribute.LayerNorm_2.bias", + "image_proj.layers.1.0.to_q.weight": "image_proj.Transformer.TransformerLayer_2.Residual_1.PerceiverAttention.Parallel.Chain_2.Linear.weight", + "image_proj.layers.1.0.to_kv.weight": "image_proj.Transformer.TransformerLayer_2.Residual_1.PerceiverAttention.Parallel.Chain_1.Linear.weight", + "image_proj.layers.1.0.to_out.weight": "image_proj.Transformer.TransformerLayer_2.Residual_1.PerceiverAttention.Linear.weight", + "image_proj.layers.1.1.0.weight": "image_proj.Transformer.TransformerLayer_2.Residual_2.LayerNorm.weight", + "image_proj.layers.1.1.0.bias": "image_proj.Transformer.TransformerLayer_2.Residual_2.LayerNorm.bias", + "image_proj.layers.1.1.1.weight": "image_proj.Transformer.TransformerLayer_2.Residual_2.FeedForward.Linear_1.weight", + "image_proj.layers.1.1.3.weight": "image_proj.Transformer.TransformerLayer_2.Residual_2.FeedForward.Linear_2.weight", + "image_proj.layers.2.0.norm1.weight": "image_proj.Transformer.TransformerLayer_3.Residual_1.PerceiverAttention.Distribute.LayerNorm_1.weight", + "image_proj.layers.2.0.norm1.bias": "image_proj.Transformer.TransformerLayer_3.Residual_1.PerceiverAttention.Distribute.LayerNorm_1.bias", + "image_proj.layers.2.0.norm2.weight": "image_proj.Transformer.TransformerLayer_3.Residual_1.PerceiverAttention.Distribute.LayerNorm_2.weight", + "image_proj.layers.2.0.norm2.bias": "image_proj.Transformer.TransformerLayer_3.Residual_1.PerceiverAttention.Distribute.LayerNorm_2.bias", + "image_proj.layers.2.0.to_q.weight": "image_proj.Transformer.TransformerLayer_3.Residual_1.PerceiverAttention.Parallel.Chain_2.Linear.weight", + "image_proj.layers.2.0.to_kv.weight": "image_proj.Transformer.TransformerLayer_3.Residual_1.PerceiverAttention.Parallel.Chain_1.Linear.weight", + "image_proj.layers.2.0.to_out.weight": "image_proj.Transformer.TransformerLayer_3.Residual_1.PerceiverAttention.Linear.weight", + "image_proj.layers.2.1.0.weight": "image_proj.Transformer.TransformerLayer_3.Residual_2.LayerNorm.weight", + "image_proj.layers.2.1.0.bias": "image_proj.Transformer.TransformerLayer_3.Residual_2.LayerNorm.bias", + "image_proj.layers.2.1.1.weight": "image_proj.Transformer.TransformerLayer_3.Residual_2.FeedForward.Linear_1.weight", + "image_proj.layers.2.1.3.weight": "image_proj.Transformer.TransformerLayer_3.Residual_2.FeedForward.Linear_2.weight", + "image_proj.layers.3.0.norm1.weight": "image_proj.Transformer.TransformerLayer_4.Residual_1.PerceiverAttention.Distribute.LayerNorm_1.weight", + "image_proj.layers.3.0.norm1.bias": "image_proj.Transformer.TransformerLayer_4.Residual_1.PerceiverAttention.Distribute.LayerNorm_1.bias", + "image_proj.layers.3.0.norm2.weight": "image_proj.Transformer.TransformerLayer_4.Residual_1.PerceiverAttention.Distribute.LayerNorm_2.weight", + "image_proj.layers.3.0.norm2.bias": "image_proj.Transformer.TransformerLayer_4.Residual_1.PerceiverAttention.Distribute.LayerNorm_2.bias", + "image_proj.layers.3.0.to_q.weight": "image_proj.Transformer.TransformerLayer_4.Residual_1.PerceiverAttention.Parallel.Chain_2.Linear.weight", + "image_proj.layers.3.0.to_kv.weight": "image_proj.Transformer.TransformerLayer_4.Residual_1.PerceiverAttention.Parallel.Chain_1.Linear.weight", + "image_proj.layers.3.0.to_out.weight": "image_proj.Transformer.TransformerLayer_4.Residual_1.PerceiverAttention.Linear.weight", + "image_proj.layers.3.1.0.weight": "image_proj.Transformer.TransformerLayer_4.Residual_2.LayerNorm.weight", + "image_proj.layers.3.1.0.bias": "image_proj.Transformer.TransformerLayer_4.Residual_2.LayerNorm.bias", + "image_proj.layers.3.1.1.weight": "image_proj.Transformer.TransformerLayer_4.Residual_2.FeedForward.Linear_1.weight", + "image_proj.layers.3.1.3.weight": "image_proj.Transformer.TransformerLayer_4.Residual_2.FeedForward.Linear_2.weight", + "ip_adapter.1.to_k_ip.weight": "ip_adapter.000.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.1.to_v_ip.weight": "ip_adapter.000.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.3.to_k_ip.weight": "ip_adapter.001.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.3.to_v_ip.weight": "ip_adapter.001.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.5.to_k_ip.weight": "ip_adapter.002.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.5.to_v_ip.weight": "ip_adapter.002.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.7.to_k_ip.weight": "ip_adapter.003.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.7.to_v_ip.weight": "ip_adapter.003.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.9.to_k_ip.weight": "ip_adapter.004.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.9.to_v_ip.weight": "ip_adapter.004.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.11.to_k_ip.weight": "ip_adapter.005.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.11.to_v_ip.weight": "ip_adapter.005.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.31.to_k_ip.weight": "ip_adapter.006.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.31.to_v_ip.weight": "ip_adapter.006.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.13.to_k_ip.weight": "ip_adapter.007.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.13.to_v_ip.weight": "ip_adapter.007.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.15.to_k_ip.weight": "ip_adapter.008.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.15.to_v_ip.weight": "ip_adapter.008.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.17.to_k_ip.weight": "ip_adapter.009.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.17.to_v_ip.weight": "ip_adapter.009.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.19.to_k_ip.weight": "ip_adapter.010.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.19.to_v_ip.weight": "ip_adapter.010.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.21.to_k_ip.weight": "ip_adapter.011.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.21.to_v_ip.weight": "ip_adapter.011.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.23.to_k_ip.weight": "ip_adapter.012.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.23.to_v_ip.weight": "ip_adapter.012.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.25.to_k_ip.weight": "ip_adapter.013.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.25.to_v_ip.weight": "ip_adapter.013.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.27.to_k_ip.weight": "ip_adapter.014.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.27.to_v_ip.weight": "ip_adapter.014.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.29.to_k_ip.weight": "ip_adapter.015.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.29.to_v_ip.weight": "ip_adapter.015.Distribute.Parallel_2.Chain_2.Linear.weight" + }, + "regex_map": {}, + "ignore_prefixes": [], + "source_aliases": {}, + "reshapes": { + "image_proj.LatentsToken.Parameter.weight": [ + 16, + 768 + ] + } +} \ No newline at end of file diff --git a/imaginairy/weight_management/weight_maps/Diffusers-IPAdapterPlus-SDXL.weightmap.json b/imaginairy/weight_management/weight_maps/Diffusers-IPAdapterPlus-SDXL.weightmap.json new file mode 100644 index 0000000..d0ac980 --- /dev/null +++ b/imaginairy/weight_management/weight_maps/Diffusers-IPAdapterPlus-SDXL.weightmap.json @@ -0,0 +1,204 @@ +{ + "name_map": { + "image_proj.latents": "image_proj.LatentsToken.Parameter.weight", + "image_proj.proj_in.weight": "image_proj.Linear_1.weight", + "image_proj.proj_in.bias": "image_proj.Linear_1.bias", + "image_proj.proj_out.weight": "image_proj.Linear_2.weight", + "image_proj.proj_out.bias": "image_proj.Linear_2.bias", + "image_proj.norm_out.weight": "image_proj.LayerNorm.weight", + "image_proj.norm_out.bias": "image_proj.LayerNorm.bias", + "image_proj.layers.0.0.norm1.weight": "image_proj.Transformer.TransformerLayer_1.Residual_1.PerceiverAttention.Distribute.LayerNorm_1.weight", + "image_proj.layers.0.0.norm1.bias": "image_proj.Transformer.TransformerLayer_1.Residual_1.PerceiverAttention.Distribute.LayerNorm_1.bias", + "image_proj.layers.0.0.norm2.weight": "image_proj.Transformer.TransformerLayer_1.Residual_1.PerceiverAttention.Distribute.LayerNorm_2.weight", + "image_proj.layers.0.0.norm2.bias": "image_proj.Transformer.TransformerLayer_1.Residual_1.PerceiverAttention.Distribute.LayerNorm_2.bias", + "image_proj.layers.0.0.to_q.weight": "image_proj.Transformer.TransformerLayer_1.Residual_1.PerceiverAttention.Parallel.Chain_2.Linear.weight", + "image_proj.layers.0.0.to_kv.weight": "image_proj.Transformer.TransformerLayer_1.Residual_1.PerceiverAttention.Parallel.Chain_1.Linear.weight", + "image_proj.layers.0.0.to_out.weight": "image_proj.Transformer.TransformerLayer_1.Residual_1.PerceiverAttention.Linear.weight", + "image_proj.layers.0.1.0.weight": "image_proj.Transformer.TransformerLayer_1.Residual_2.LayerNorm.weight", + "image_proj.layers.0.1.0.bias": "image_proj.Transformer.TransformerLayer_1.Residual_2.LayerNorm.bias", + "image_proj.layers.0.1.1.weight": "image_proj.Transformer.TransformerLayer_1.Residual_2.FeedForward.Linear_1.weight", + "image_proj.layers.0.1.3.weight": "image_proj.Transformer.TransformerLayer_1.Residual_2.FeedForward.Linear_2.weight", + "image_proj.layers.1.0.norm1.weight": "image_proj.Transformer.TransformerLayer_2.Residual_1.PerceiverAttention.Distribute.LayerNorm_1.weight", + "image_proj.layers.1.0.norm1.bias": "image_proj.Transformer.TransformerLayer_2.Residual_1.PerceiverAttention.Distribute.LayerNorm_1.bias", + "image_proj.layers.1.0.norm2.weight": "image_proj.Transformer.TransformerLayer_2.Residual_1.PerceiverAttention.Distribute.LayerNorm_2.weight", + "image_proj.layers.1.0.norm2.bias": "image_proj.Transformer.TransformerLayer_2.Residual_1.PerceiverAttention.Distribute.LayerNorm_2.bias", + "image_proj.layers.1.0.to_q.weight": "image_proj.Transformer.TransformerLayer_2.Residual_1.PerceiverAttention.Parallel.Chain_2.Linear.weight", + "image_proj.layers.1.0.to_kv.weight": "image_proj.Transformer.TransformerLayer_2.Residual_1.PerceiverAttention.Parallel.Chain_1.Linear.weight", + "image_proj.layers.1.0.to_out.weight": "image_proj.Transformer.TransformerLayer_2.Residual_1.PerceiverAttention.Linear.weight", + "image_proj.layers.1.1.0.weight": "image_proj.Transformer.TransformerLayer_2.Residual_2.LayerNorm.weight", + "image_proj.layers.1.1.0.bias": "image_proj.Transformer.TransformerLayer_2.Residual_2.LayerNorm.bias", + "image_proj.layers.1.1.1.weight": "image_proj.Transformer.TransformerLayer_2.Residual_2.FeedForward.Linear_1.weight", + "image_proj.layers.1.1.3.weight": "image_proj.Transformer.TransformerLayer_2.Residual_2.FeedForward.Linear_2.weight", + "image_proj.layers.2.0.norm1.weight": "image_proj.Transformer.TransformerLayer_3.Residual_1.PerceiverAttention.Distribute.LayerNorm_1.weight", + "image_proj.layers.2.0.norm1.bias": "image_proj.Transformer.TransformerLayer_3.Residual_1.PerceiverAttention.Distribute.LayerNorm_1.bias", + "image_proj.layers.2.0.norm2.weight": "image_proj.Transformer.TransformerLayer_3.Residual_1.PerceiverAttention.Distribute.LayerNorm_2.weight", + "image_proj.layers.2.0.norm2.bias": "image_proj.Transformer.TransformerLayer_3.Residual_1.PerceiverAttention.Distribute.LayerNorm_2.bias", + "image_proj.layers.2.0.to_q.weight": "image_proj.Transformer.TransformerLayer_3.Residual_1.PerceiverAttention.Parallel.Chain_2.Linear.weight", + "image_proj.layers.2.0.to_kv.weight": "image_proj.Transformer.TransformerLayer_3.Residual_1.PerceiverAttention.Parallel.Chain_1.Linear.weight", + "image_proj.layers.2.0.to_out.weight": "image_proj.Transformer.TransformerLayer_3.Residual_1.PerceiverAttention.Linear.weight", + "image_proj.layers.2.1.0.weight": "image_proj.Transformer.TransformerLayer_3.Residual_2.LayerNorm.weight", + "image_proj.layers.2.1.0.bias": "image_proj.Transformer.TransformerLayer_3.Residual_2.LayerNorm.bias", + "image_proj.layers.2.1.1.weight": "image_proj.Transformer.TransformerLayer_3.Residual_2.FeedForward.Linear_1.weight", + "image_proj.layers.2.1.3.weight": "image_proj.Transformer.TransformerLayer_3.Residual_2.FeedForward.Linear_2.weight", + "image_proj.layers.3.0.norm1.weight": "image_proj.Transformer.TransformerLayer_4.Residual_1.PerceiverAttention.Distribute.LayerNorm_1.weight", + "image_proj.layers.3.0.norm1.bias": "image_proj.Transformer.TransformerLayer_4.Residual_1.PerceiverAttention.Distribute.LayerNorm_1.bias", + "image_proj.layers.3.0.norm2.weight": "image_proj.Transformer.TransformerLayer_4.Residual_1.PerceiverAttention.Distribute.LayerNorm_2.weight", + "image_proj.layers.3.0.norm2.bias": "image_proj.Transformer.TransformerLayer_4.Residual_1.PerceiverAttention.Distribute.LayerNorm_2.bias", + "image_proj.layers.3.0.to_q.weight": "image_proj.Transformer.TransformerLayer_4.Residual_1.PerceiverAttention.Parallel.Chain_2.Linear.weight", + "image_proj.layers.3.0.to_kv.weight": "image_proj.Transformer.TransformerLayer_4.Residual_1.PerceiverAttention.Parallel.Chain_1.Linear.weight", + "image_proj.layers.3.0.to_out.weight": "image_proj.Transformer.TransformerLayer_4.Residual_1.PerceiverAttention.Linear.weight", + "image_proj.layers.3.1.0.weight": "image_proj.Transformer.TransformerLayer_4.Residual_2.LayerNorm.weight", + "image_proj.layers.3.1.0.bias": "image_proj.Transformer.TransformerLayer_4.Residual_2.LayerNorm.bias", + "image_proj.layers.3.1.1.weight": "image_proj.Transformer.TransformerLayer_4.Residual_2.FeedForward.Linear_1.weight", + "image_proj.layers.3.1.3.weight": "image_proj.Transformer.TransformerLayer_4.Residual_2.FeedForward.Linear_2.weight", + "ip_adapter.1.to_k_ip.weight": "ip_adapter.000.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.1.to_v_ip.weight": "ip_adapter.000.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.3.to_k_ip.weight": "ip_adapter.001.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.3.to_v_ip.weight": "ip_adapter.001.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.5.to_k_ip.weight": "ip_adapter.002.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.5.to_v_ip.weight": "ip_adapter.002.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.7.to_k_ip.weight": "ip_adapter.003.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.7.to_v_ip.weight": "ip_adapter.003.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.9.to_k_ip.weight": "ip_adapter.004.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.9.to_v_ip.weight": "ip_adapter.004.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.11.to_k_ip.weight": "ip_adapter.005.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.11.to_v_ip.weight": "ip_adapter.005.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.13.to_k_ip.weight": "ip_adapter.006.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.13.to_v_ip.weight": "ip_adapter.006.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.15.to_k_ip.weight": "ip_adapter.007.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.15.to_v_ip.weight": "ip_adapter.007.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.17.to_k_ip.weight": "ip_adapter.008.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.17.to_v_ip.weight": "ip_adapter.008.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.19.to_k_ip.weight": "ip_adapter.009.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.19.to_v_ip.weight": "ip_adapter.009.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.21.to_k_ip.weight": "ip_adapter.010.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.21.to_v_ip.weight": "ip_adapter.010.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.23.to_k_ip.weight": "ip_adapter.011.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.23.to_v_ip.weight": "ip_adapter.011.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.25.to_k_ip.weight": "ip_adapter.012.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.25.to_v_ip.weight": "ip_adapter.012.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.27.to_k_ip.weight": "ip_adapter.013.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.27.to_v_ip.weight": "ip_adapter.013.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.29.to_k_ip.weight": "ip_adapter.014.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.29.to_v_ip.weight": "ip_adapter.014.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.31.to_k_ip.weight": "ip_adapter.015.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.31.to_v_ip.weight": "ip_adapter.015.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.33.to_k_ip.weight": "ip_adapter.016.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.33.to_v_ip.weight": "ip_adapter.016.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.35.to_k_ip.weight": "ip_adapter.017.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.35.to_v_ip.weight": "ip_adapter.017.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.37.to_k_ip.weight": "ip_adapter.018.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.37.to_v_ip.weight": "ip_adapter.018.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.39.to_k_ip.weight": "ip_adapter.019.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.39.to_v_ip.weight": "ip_adapter.019.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.41.to_k_ip.weight": "ip_adapter.020.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.41.to_v_ip.weight": "ip_adapter.020.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.43.to_k_ip.weight": "ip_adapter.021.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.43.to_v_ip.weight": "ip_adapter.021.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.45.to_k_ip.weight": "ip_adapter.022.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.45.to_v_ip.weight": "ip_adapter.022.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.47.to_k_ip.weight": "ip_adapter.023.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.47.to_v_ip.weight": "ip_adapter.023.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.121.to_k_ip.weight": "ip_adapter.024.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.121.to_v_ip.weight": "ip_adapter.024.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.123.to_k_ip.weight": "ip_adapter.025.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.123.to_v_ip.weight": "ip_adapter.025.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.125.to_k_ip.weight": "ip_adapter.026.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.125.to_v_ip.weight": "ip_adapter.026.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.127.to_k_ip.weight": "ip_adapter.027.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.127.to_v_ip.weight": "ip_adapter.027.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.129.to_k_ip.weight": "ip_adapter.028.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.129.to_v_ip.weight": "ip_adapter.028.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.131.to_k_ip.weight": "ip_adapter.029.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.131.to_v_ip.weight": "ip_adapter.029.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.133.to_k_ip.weight": "ip_adapter.030.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.133.to_v_ip.weight": "ip_adapter.030.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.135.to_k_ip.weight": "ip_adapter.031.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.135.to_v_ip.weight": "ip_adapter.031.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.137.to_k_ip.weight": "ip_adapter.032.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.137.to_v_ip.weight": "ip_adapter.032.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.139.to_k_ip.weight": "ip_adapter.033.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.139.to_v_ip.weight": "ip_adapter.033.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.49.to_k_ip.weight": "ip_adapter.034.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.49.to_v_ip.weight": "ip_adapter.034.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.51.to_k_ip.weight": "ip_adapter.035.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.51.to_v_ip.weight": "ip_adapter.035.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.53.to_k_ip.weight": "ip_adapter.036.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.53.to_v_ip.weight": "ip_adapter.036.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.55.to_k_ip.weight": "ip_adapter.037.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.55.to_v_ip.weight": "ip_adapter.037.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.57.to_k_ip.weight": "ip_adapter.038.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.57.to_v_ip.weight": "ip_adapter.038.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.59.to_k_ip.weight": "ip_adapter.039.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.59.to_v_ip.weight": "ip_adapter.039.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.61.to_k_ip.weight": "ip_adapter.040.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.61.to_v_ip.weight": "ip_adapter.040.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.63.to_k_ip.weight": "ip_adapter.041.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.63.to_v_ip.weight": "ip_adapter.041.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.65.to_k_ip.weight": "ip_adapter.042.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.65.to_v_ip.weight": "ip_adapter.042.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.67.to_k_ip.weight": "ip_adapter.043.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.67.to_v_ip.weight": "ip_adapter.043.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.69.to_k_ip.weight": "ip_adapter.044.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.69.to_v_ip.weight": "ip_adapter.044.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.71.to_k_ip.weight": "ip_adapter.045.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.71.to_v_ip.weight": "ip_adapter.045.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.73.to_k_ip.weight": "ip_adapter.046.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.73.to_v_ip.weight": "ip_adapter.046.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.75.to_k_ip.weight": "ip_adapter.047.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.75.to_v_ip.weight": "ip_adapter.047.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.77.to_k_ip.weight": "ip_adapter.048.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.77.to_v_ip.weight": "ip_adapter.048.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.79.to_k_ip.weight": "ip_adapter.049.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.79.to_v_ip.weight": "ip_adapter.049.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.81.to_k_ip.weight": "ip_adapter.050.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.81.to_v_ip.weight": "ip_adapter.050.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.83.to_k_ip.weight": "ip_adapter.051.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.83.to_v_ip.weight": "ip_adapter.051.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.85.to_k_ip.weight": "ip_adapter.052.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.85.to_v_ip.weight": "ip_adapter.052.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.87.to_k_ip.weight": "ip_adapter.053.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.87.to_v_ip.weight": "ip_adapter.053.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.89.to_k_ip.weight": "ip_adapter.054.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.89.to_v_ip.weight": "ip_adapter.054.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.91.to_k_ip.weight": "ip_adapter.055.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.91.to_v_ip.weight": "ip_adapter.055.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.93.to_k_ip.weight": "ip_adapter.056.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.93.to_v_ip.weight": "ip_adapter.056.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.95.to_k_ip.weight": "ip_adapter.057.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.95.to_v_ip.weight": "ip_adapter.057.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.97.to_k_ip.weight": "ip_adapter.058.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.97.to_v_ip.weight": "ip_adapter.058.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.99.to_k_ip.weight": "ip_adapter.059.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.99.to_v_ip.weight": "ip_adapter.059.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.101.to_k_ip.weight": "ip_adapter.060.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.101.to_v_ip.weight": "ip_adapter.060.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.103.to_k_ip.weight": "ip_adapter.061.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.103.to_v_ip.weight": "ip_adapter.061.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.105.to_k_ip.weight": "ip_adapter.062.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.105.to_v_ip.weight": "ip_adapter.062.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.107.to_k_ip.weight": "ip_adapter.063.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.107.to_v_ip.weight": "ip_adapter.063.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.109.to_k_ip.weight": "ip_adapter.064.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.109.to_v_ip.weight": "ip_adapter.064.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.111.to_k_ip.weight": "ip_adapter.065.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.111.to_v_ip.weight": "ip_adapter.065.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.113.to_k_ip.weight": "ip_adapter.066.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.113.to_v_ip.weight": "ip_adapter.066.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.115.to_k_ip.weight": "ip_adapter.067.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.115.to_v_ip.weight": "ip_adapter.067.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.117.to_k_ip.weight": "ip_adapter.068.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.117.to_v_ip.weight": "ip_adapter.068.Distribute.Parallel_2.Chain_2.Linear.weight", + "ip_adapter.119.to_k_ip.weight": "ip_adapter.069.Distribute.Parallel_1.Chain_2.Linear.weight", + "ip_adapter.119.to_v_ip.weight": "ip_adapter.069.Distribute.Parallel_2.Chain_2.Linear.weight" + }, + "regex_map": {}, + "ignore_prefixes": [], + "source_aliases": {}, + "reshapes": { + "image_proj.LatentsToken.Parameter.weight": [ + 16, + 1280 + ] + } +} \ No newline at end of file diff --git a/imaginairy/weight_management/weight_maps/Diffusers-T2IAdapter-SD15.weightmap.json b/imaginairy/weight_management/weight_maps/Diffusers-T2IAdapter-SD15.weightmap.json new file mode 100644 index 0000000..d2822d4 --- /dev/null +++ b/imaginairy/weight_management/weight_maps/Diffusers-T2IAdapter-SD15.weightmap.json @@ -0,0 +1,30 @@ +{ + "name_map": { + "adapter.conv_in": "Conv2d", + "adapter.body.0.resnets.0.block1": "StatefulResidualBlocks_1.ResidualBlocks.Chain.ResidualBlock_1.Conv2d_1", + "adapter.body.0.resnets.1.block1": "StatefulResidualBlocks_1.ResidualBlocks.Chain.ResidualBlock_2.Conv2d_1", + "adapter.body.0.resnets.0.block2": "StatefulResidualBlocks_1.ResidualBlocks.Chain.ResidualBlock_1.Conv2d_2", + "adapter.body.0.resnets.1.block2": "StatefulResidualBlocks_1.ResidualBlocks.Chain.ResidualBlock_2.Conv2d_2", + "adapter.body.1.downsample": "StatefulResidualBlocks_2.ResidualBlocks.Downsample2d", + "adapter.body.2.downsample": "StatefulResidualBlocks_3.ResidualBlocks.Downsample2d", + "adapter.body.3.downsample": "StatefulResidualBlocks_4.ResidualBlocks.Downsample2d", + "adapter.body.1.in_conv": "StatefulResidualBlocks_2.ResidualBlocks.Conv2d", + "adapter.body.1.resnets.0.block1": "StatefulResidualBlocks_2.ResidualBlocks.Chain.ResidualBlock_1.Conv2d_1", + "adapter.body.1.resnets.1.block1": "StatefulResidualBlocks_2.ResidualBlocks.Chain.ResidualBlock_2.Conv2d_1", + "adapter.body.1.resnets.0.block2": "StatefulResidualBlocks_2.ResidualBlocks.Chain.ResidualBlock_1.Conv2d_2", + "adapter.body.1.resnets.1.block2": "StatefulResidualBlocks_2.ResidualBlocks.Chain.ResidualBlock_2.Conv2d_2", + "adapter.body.2.in_conv": "StatefulResidualBlocks_3.ResidualBlocks.Conv2d", + "adapter.body.2.resnets.0.block1": "StatefulResidualBlocks_3.ResidualBlocks.Chain.ResidualBlock_1.Conv2d_1", + "adapter.body.2.resnets.1.block1": "StatefulResidualBlocks_3.ResidualBlocks.Chain.ResidualBlock_2.Conv2d_1", + "adapter.body.3.resnets.0.block1": "StatefulResidualBlocks_4.ResidualBlocks.Chain.ResidualBlock_1.Conv2d_1", + "adapter.body.3.resnets.1.block1": "StatefulResidualBlocks_4.ResidualBlocks.Chain.ResidualBlock_2.Conv2d_1", + "adapter.body.2.resnets.0.block2": "StatefulResidualBlocks_3.ResidualBlocks.Chain.ResidualBlock_1.Conv2d_2", + "adapter.body.2.resnets.1.block2": "StatefulResidualBlocks_3.ResidualBlocks.Chain.ResidualBlock_2.Conv2d_2", + "adapter.body.3.resnets.0.block2": "StatefulResidualBlocks_4.ResidualBlocks.Chain.ResidualBlock_1.Conv2d_2", + "adapter.body.3.resnets.1.block2": "StatefulResidualBlocks_4.ResidualBlocks.Chain.ResidualBlock_2.Conv2d_2" + }, + "regex_map": {}, + "ignore_prefixes": [], + "source_aliases": {}, + "reshapes": {} +} \ No newline at end of file diff --git a/imaginairy/weight_management/weight_maps/Diffusers-T2IAdapter-SDXL.weightmap.json b/imaginairy/weight_management/weight_maps/Diffusers-T2IAdapter-SDXL.weightmap.json new file mode 100644 index 0000000..b10fb2b --- /dev/null +++ b/imaginairy/weight_management/weight_maps/Diffusers-T2IAdapter-SDXL.weightmap.json @@ -0,0 +1,28 @@ +{ + "name_map": { + "adapter.conv_in": "Conv2d", + "adapter.body.0.resnets.0.block1": "StatefulResidualBlocks_1.ResidualBlocks.Chain.ResidualBlock_1.Conv2d_1", + "adapter.body.0.resnets.1.block1": "StatefulResidualBlocks_1.ResidualBlocks.Chain.ResidualBlock_2.Conv2d_1", + "adapter.body.0.resnets.0.block2": "StatefulResidualBlocks_1.ResidualBlocks.Chain.ResidualBlock_1.Conv2d_2", + "adapter.body.0.resnets.1.block2": "StatefulResidualBlocks_1.ResidualBlocks.Chain.ResidualBlock_2.Conv2d_2", + "adapter.body.1.in_conv": "StatefulResidualBlocks_2.ResidualBlocks.Conv2d", + "adapter.body.1.resnets.0.block1": "StatefulResidualBlocks_2.ResidualBlocks.Chain.ResidualBlock_1.Conv2d_1", + "adapter.body.1.resnets.1.block1": "StatefulResidualBlocks_2.ResidualBlocks.Chain.ResidualBlock_2.Conv2d_1", + "adapter.body.1.resnets.0.block2": "StatefulResidualBlocks_2.ResidualBlocks.Chain.ResidualBlock_1.Conv2d_2", + "adapter.body.1.resnets.1.block2": "StatefulResidualBlocks_2.ResidualBlocks.Chain.ResidualBlock_2.Conv2d_2", + "adapter.body.2.downsample": "StatefulResidualBlocks_3.ResidualBlocks.Downsample2d", + "adapter.body.2.in_conv": "StatefulResidualBlocks_3.ResidualBlocks.Conv2d", + "adapter.body.2.resnets.0.block1": "StatefulResidualBlocks_3.ResidualBlocks.Chain.ResidualBlock_1.Conv2d_1", + "adapter.body.2.resnets.1.block1": "StatefulResidualBlocks_3.ResidualBlocks.Chain.ResidualBlock_2.Conv2d_1", + "adapter.body.3.resnets.0.block1": "StatefulResidualBlocks_4.ResidualBlocks.Chain.ResidualBlock_1.Conv2d_1", + "adapter.body.3.resnets.1.block1": "StatefulResidualBlocks_4.ResidualBlocks.Chain.ResidualBlock_2.Conv2d_1", + "adapter.body.2.resnets.0.block2": "StatefulResidualBlocks_3.ResidualBlocks.Chain.ResidualBlock_1.Conv2d_2", + "adapter.body.2.resnets.1.block2": "StatefulResidualBlocks_3.ResidualBlocks.Chain.ResidualBlock_2.Conv2d_2", + "adapter.body.3.resnets.0.block2": "StatefulResidualBlocks_4.ResidualBlocks.Chain.ResidualBlock_1.Conv2d_2", + "adapter.body.3.resnets.1.block2": "StatefulResidualBlocks_4.ResidualBlocks.Chain.ResidualBlock_2.Conv2d_2" + }, + "regex_map": {}, + "ignore_prefixes": [], + "source_aliases": {}, + "reshapes": {} +} \ No newline at end of file diff --git a/imaginairy/weight_management/weight_maps/Diffusers-UNet-SD15.weightmap.json b/imaginairy/weight_management/weight_maps/Diffusers-UNet-SD15.weightmap.json new file mode 100644 index 0000000..501cce1 --- /dev/null +++ b/imaginairy/weight_management/weight_maps/Diffusers-UNet-SD15.weightmap.json @@ -0,0 +1,399 @@ +{ + "name_map": { + "time_embedding.linear_1": "TimestepEncoder.RangeEncoder.Linear_1", + "time_embedding.linear_2": "TimestepEncoder.RangeEncoder.Linear_2", + "down_blocks.2.resnets.0.time_emb_proj": "DownBlocks.Chain_8.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "down_blocks.2.attentions.0.transformer_blocks.0.attn1.to_out.0": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Linear", + "down_blocks.2.attentions.0.transformer_blocks.0.attn2.to_out.0": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Linear", + "down_blocks.2.resnets.1.time_emb_proj": "DownBlocks.Chain_9.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "down_blocks.2.attentions.1.transformer_blocks.0.attn1.to_out.0": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Linear", + "down_blocks.2.attentions.1.transformer_blocks.0.attn2.to_out.0": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Linear", + "down_blocks.3.resnets.0.time_emb_proj": "DownBlocks.Chain_11.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "down_blocks.3.resnets.1.time_emb_proj": "DownBlocks.Chain_12.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "mid_block.resnets.0.time_emb_proj": "Sum.MiddleBlock.ResidualBlock_1.Chain.RangeAdapter2d.Chain.Linear", + "mid_block.attentions.0.transformer_blocks.0.attn1.to_out.0": "Sum.MiddleBlock.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Linear", + "mid_block.attentions.0.transformer_blocks.0.attn2.to_out.0": "Sum.MiddleBlock.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Linear", + "mid_block.resnets.1.time_emb_proj": "Sum.MiddleBlock.ResidualBlock_2.Chain.RangeAdapter2d.Chain.Linear", + "up_blocks.0.resnets.0.time_emb_proj": "UpBlocks.Chain_1.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "up_blocks.0.resnets.1.time_emb_proj": "UpBlocks.Chain_2.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "up_blocks.0.resnets.2.time_emb_proj": "UpBlocks.Chain_3.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "up_blocks.1.resnets.0.time_emb_proj": "UpBlocks.Chain_4.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "up_blocks.1.attentions.0.transformer_blocks.0.attn1.to_out.0": "UpBlocks.Chain_4.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Linear", + "up_blocks.1.attentions.0.transformer_blocks.0.attn2.to_out.0": "UpBlocks.Chain_4.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Linear", + "up_blocks.1.resnets.1.time_emb_proj": "UpBlocks.Chain_5.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "up_blocks.1.attentions.1.transformer_blocks.0.attn1.to_out.0": "UpBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Linear", + "up_blocks.1.attentions.1.transformer_blocks.0.attn2.to_out.0": "UpBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Linear", + "up_blocks.1.resnets.2.time_emb_proj": "UpBlocks.Chain_6.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "up_blocks.1.attentions.2.transformer_blocks.0.attn1.to_out.0": "UpBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Linear", + "up_blocks.1.attentions.2.transformer_blocks.0.attn2.to_out.0": "UpBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Linear", + "conv_in": "DownBlocks.Chain_1.Conv2d", + "down_blocks.0.resnets.0.norm1": "DownBlocks.Chain_2.ResidualBlock.Chain.GroupNorm_1", + "down_blocks.0.resnets.0.norm2": "DownBlocks.Chain_2.ResidualBlock.Chain.GroupNorm_2", + "down_blocks.0.attentions.0.norm": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_1.GroupNorm", + "down_blocks.0.resnets.1.norm1": "DownBlocks.Chain_3.ResidualBlock.Chain.GroupNorm_1", + "down_blocks.0.resnets.1.norm2": "DownBlocks.Chain_3.ResidualBlock.Chain.GroupNorm_2", + "down_blocks.0.attentions.1.norm": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_1.GroupNorm", + "down_blocks.1.resnets.0.norm1": "DownBlocks.Chain_5.ResidualBlock.Chain.GroupNorm_1", + "up_blocks.3.resnets.0.norm2": "UpBlocks.Chain_10.ResidualBlock.Chain.GroupNorm_2", + "up_blocks.3.attentions.0.norm": "UpBlocks.Chain_10.CLIPLCrossAttention.Chain_1.GroupNorm", + "up_blocks.3.resnets.1.norm2": "UpBlocks.Chain_11.ResidualBlock.Chain.GroupNorm_2", + "up_blocks.3.attentions.1.norm": "UpBlocks.Chain_11.CLIPLCrossAttention.Chain_1.GroupNorm", + "up_blocks.3.resnets.2.norm2": "UpBlocks.Chain_12.ResidualBlock.Chain.GroupNorm_2", + "up_blocks.3.attentions.2.norm": "UpBlocks.Chain_12.CLIPLCrossAttention.Chain_1.GroupNorm", + "conv_norm_out": "Chain.GroupNorm", + "down_blocks.0.resnets.0.conv1": "DownBlocks.Chain_2.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "down_blocks.0.resnets.0.conv2": "DownBlocks.Chain_2.ResidualBlock.Chain.Conv2d", + "down_blocks.0.resnets.1.conv1": "DownBlocks.Chain_3.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "down_blocks.0.resnets.1.conv2": "DownBlocks.Chain_3.ResidualBlock.Chain.Conv2d", + "down_blocks.0.downsamplers.0.conv": "DownBlocks.Chain_4.Downsample.Conv2d", + "up_blocks.3.resnets.0.conv2": "UpBlocks.Chain_10.ResidualBlock.Chain.Conv2d", + "up_blocks.3.resnets.1.conv2": "UpBlocks.Chain_11.ResidualBlock.Chain.Conv2d", + "up_blocks.3.resnets.2.conv2": "UpBlocks.Chain_12.ResidualBlock.Chain.Conv2d", + "down_blocks.0.resnets.0.time_emb_proj": "DownBlocks.Chain_2.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "down_blocks.0.attentions.0.transformer_blocks.0.ff.net.2": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_2", + "down_blocks.0.resnets.1.time_emb_proj": "DownBlocks.Chain_3.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "down_blocks.0.attentions.1.transformer_blocks.0.ff.net.2": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_2", + "up_blocks.3.resnets.0.time_emb_proj": "UpBlocks.Chain_10.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "up_blocks.3.attentions.0.transformer_blocks.0.ff.net.2": "UpBlocks.Chain_10.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_2", + "up_blocks.3.resnets.1.time_emb_proj": "UpBlocks.Chain_11.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "up_blocks.3.attentions.1.transformer_blocks.0.ff.net.2": "UpBlocks.Chain_11.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_2", + "up_blocks.3.resnets.2.time_emb_proj": "UpBlocks.Chain_12.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "up_blocks.3.attentions.2.transformer_blocks.0.ff.net.2": "UpBlocks.Chain_12.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_2", + "down_blocks.0.attentions.0.proj_in": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_1.Conv2d", + "down_blocks.0.attentions.0.proj_out": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_3.Conv2d", + "down_blocks.0.attentions.1.proj_in": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_1.Conv2d", + "down_blocks.0.attentions.1.proj_out": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_3.Conv2d", + "up_blocks.3.attentions.0.proj_in": "UpBlocks.Chain_10.CLIPLCrossAttention.Chain_1.Conv2d", + "up_blocks.3.attentions.0.proj_out": "UpBlocks.Chain_10.CLIPLCrossAttention.Chain_3.Conv2d", + "up_blocks.3.attentions.1.proj_in": "UpBlocks.Chain_11.CLIPLCrossAttention.Chain_1.Conv2d", + "up_blocks.3.attentions.1.proj_out": "UpBlocks.Chain_11.CLIPLCrossAttention.Chain_3.Conv2d", + "up_blocks.3.attentions.2.proj_in": "UpBlocks.Chain_12.CLIPLCrossAttention.Chain_1.Conv2d", + "up_blocks.3.attentions.2.proj_out": "UpBlocks.Chain_12.CLIPLCrossAttention.Chain_3.Conv2d", + "down_blocks.0.attentions.0.transformer_blocks.0.norm1": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.LayerNorm", + "down_blocks.0.attentions.0.transformer_blocks.0.norm2": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.LayerNorm", + "down_blocks.0.attentions.0.transformer_blocks.0.norm3": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.LayerNorm", + "down_blocks.0.attentions.1.transformer_blocks.0.norm1": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.LayerNorm", + "down_blocks.0.attentions.1.transformer_blocks.0.norm2": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.LayerNorm", + "down_blocks.0.attentions.1.transformer_blocks.0.norm3": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.LayerNorm", + "up_blocks.3.attentions.0.transformer_blocks.0.norm1": "UpBlocks.Chain_10.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.LayerNorm", + "up_blocks.3.attentions.0.transformer_blocks.0.norm2": "UpBlocks.Chain_10.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.LayerNorm", + "up_blocks.3.attentions.0.transformer_blocks.0.norm3": "UpBlocks.Chain_10.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.LayerNorm", + "up_blocks.3.attentions.1.transformer_blocks.0.norm1": "UpBlocks.Chain_11.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.LayerNorm", + "up_blocks.3.attentions.1.transformer_blocks.0.norm2": "UpBlocks.Chain_11.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.LayerNorm", + "up_blocks.3.attentions.1.transformer_blocks.0.norm3": "UpBlocks.Chain_11.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.LayerNorm", + "up_blocks.3.attentions.2.transformer_blocks.0.norm1": "UpBlocks.Chain_12.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.LayerNorm", + "up_blocks.3.attentions.2.transformer_blocks.0.norm2": "UpBlocks.Chain_12.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.LayerNorm", + "up_blocks.3.attentions.2.transformer_blocks.0.norm3": "UpBlocks.Chain_12.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.LayerNorm", + "down_blocks.0.attentions.0.transformer_blocks.0.attn1.to_q": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.0.attentions.0.transformer_blocks.0.attn1.to_k": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.0.attentions.0.transformer_blocks.0.attn1.to_v": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.0.attentions.0.transformer_blocks.0.attn2.to_q": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.0.attentions.1.transformer_blocks.0.attn1.to_q": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.0.attentions.1.transformer_blocks.0.attn1.to_k": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.0.attentions.1.transformer_blocks.0.attn1.to_v": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.0.attentions.1.transformer_blocks.0.attn2.to_q": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.3.attentions.0.transformer_blocks.0.attn1.to_q": "UpBlocks.Chain_10.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.3.attentions.0.transformer_blocks.0.attn1.to_k": "UpBlocks.Chain_10.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.3.attentions.0.transformer_blocks.0.attn1.to_v": "UpBlocks.Chain_10.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.3.attentions.0.transformer_blocks.0.attn2.to_q": "UpBlocks.Chain_10.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.3.attentions.1.transformer_blocks.0.attn1.to_q": "UpBlocks.Chain_11.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.3.attentions.1.transformer_blocks.0.attn1.to_k": "UpBlocks.Chain_11.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.3.attentions.1.transformer_blocks.0.attn1.to_v": "UpBlocks.Chain_11.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.3.attentions.1.transformer_blocks.0.attn2.to_q": "UpBlocks.Chain_11.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.3.attentions.2.transformer_blocks.0.attn1.to_q": "UpBlocks.Chain_12.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.3.attentions.2.transformer_blocks.0.attn1.to_k": "UpBlocks.Chain_12.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.3.attentions.2.transformer_blocks.0.attn1.to_v": "UpBlocks.Chain_12.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.3.attentions.2.transformer_blocks.0.attn2.to_q": "UpBlocks.Chain_12.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.0.attentions.0.transformer_blocks.0.attn1.to_out.0": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Linear", + "down_blocks.0.attentions.0.transformer_blocks.0.attn2.to_out.0": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Linear", + "down_blocks.0.attentions.1.transformer_blocks.0.attn1.to_out.0": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Linear", + "down_blocks.0.attentions.1.transformer_blocks.0.attn2.to_out.0": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Linear", + "up_blocks.3.attentions.0.transformer_blocks.0.attn1.to_out.0": "UpBlocks.Chain_10.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Linear", + "up_blocks.3.attentions.0.transformer_blocks.0.attn2.to_out.0": "UpBlocks.Chain_10.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Linear", + "up_blocks.3.attentions.1.transformer_blocks.0.attn1.to_out.0": "UpBlocks.Chain_11.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Linear", + "up_blocks.3.attentions.1.transformer_blocks.0.attn2.to_out.0": "UpBlocks.Chain_11.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Linear", + "up_blocks.3.attentions.2.transformer_blocks.0.attn1.to_out.0": "UpBlocks.Chain_12.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Linear", + "up_blocks.3.attentions.2.transformer_blocks.0.attn2.to_out.0": "UpBlocks.Chain_12.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Linear", + "down_blocks.0.attentions.0.transformer_blocks.0.attn2.to_k": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.0.attentions.0.transformer_blocks.0.attn2.to_v": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.0.attentions.1.transformer_blocks.0.attn2.to_k": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.0.attentions.1.transformer_blocks.0.attn2.to_v": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.3.attentions.0.transformer_blocks.0.attn2.to_k": "UpBlocks.Chain_10.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.3.attentions.0.transformer_blocks.0.attn2.to_v": "UpBlocks.Chain_10.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.3.attentions.1.transformer_blocks.0.attn2.to_k": "UpBlocks.Chain_11.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.3.attentions.1.transformer_blocks.0.attn2.to_v": "UpBlocks.Chain_11.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.3.attentions.2.transformer_blocks.0.attn2.to_k": "UpBlocks.Chain_12.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.3.attentions.2.transformer_blocks.0.attn2.to_v": "UpBlocks.Chain_12.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.0.attentions.0.transformer_blocks.0.ff.net.0.proj": "DownBlocks.Chain_2.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_1", + "down_blocks.0.attentions.1.transformer_blocks.0.ff.net.0.proj": "DownBlocks.Chain_3.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_1", + "up_blocks.3.attentions.0.transformer_blocks.0.ff.net.0.proj": "UpBlocks.Chain_10.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_1", + "up_blocks.3.attentions.1.transformer_blocks.0.ff.net.0.proj": "UpBlocks.Chain_11.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_1", + "up_blocks.3.attentions.2.transformer_blocks.0.ff.net.0.proj": "UpBlocks.Chain_12.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_1", + "down_blocks.1.resnets.0.conv1": "DownBlocks.Chain_5.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "down_blocks.1.resnets.0.time_emb_proj": "DownBlocks.Chain_5.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "down_blocks.1.resnets.1.time_emb_proj": "DownBlocks.Chain_6.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "up_blocks.2.resnets.0.time_emb_proj": "UpBlocks.Chain_7.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "up_blocks.2.resnets.1.time_emb_proj": "UpBlocks.Chain_8.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "up_blocks.2.resnets.2.time_emb_proj": "UpBlocks.Chain_9.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "down_blocks.1.resnets.0.norm2": "DownBlocks.Chain_5.ResidualBlock.Chain.GroupNorm_2", + "down_blocks.1.attentions.0.norm": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_1.GroupNorm", + "down_blocks.1.resnets.1.norm1": "DownBlocks.Chain_6.ResidualBlock.Chain.GroupNorm_1", + "down_blocks.1.resnets.1.norm2": "DownBlocks.Chain_6.ResidualBlock.Chain.GroupNorm_2", + "down_blocks.1.attentions.1.norm": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_1.GroupNorm", + "down_blocks.2.resnets.0.norm1": "DownBlocks.Chain_8.ResidualBlock.Chain.GroupNorm_1", + "up_blocks.2.resnets.0.norm2": "UpBlocks.Chain_7.ResidualBlock.Chain.GroupNorm_2", + "up_blocks.2.attentions.0.norm": "UpBlocks.Chain_7.CLIPLCrossAttention.Chain_1.GroupNorm", + "up_blocks.2.resnets.1.norm2": "UpBlocks.Chain_8.ResidualBlock.Chain.GroupNorm_2", + "up_blocks.2.attentions.1.norm": "UpBlocks.Chain_8.CLIPLCrossAttention.Chain_1.GroupNorm", + "up_blocks.2.resnets.2.norm2": "UpBlocks.Chain_9.ResidualBlock.Chain.GroupNorm_2", + "up_blocks.2.attentions.2.norm": "UpBlocks.Chain_9.CLIPLCrossAttention.Chain_1.GroupNorm", + "up_blocks.3.resnets.1.norm1": "UpBlocks.Chain_11.ResidualBlock.Chain.GroupNorm_1", + "up_blocks.3.resnets.2.norm1": "UpBlocks.Chain_12.ResidualBlock.Chain.GroupNorm_1", + "down_blocks.1.resnets.0.conv2": "DownBlocks.Chain_5.ResidualBlock.Chain.Conv2d", + "down_blocks.1.resnets.1.conv1": "DownBlocks.Chain_6.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "down_blocks.1.resnets.1.conv2": "DownBlocks.Chain_6.ResidualBlock.Chain.Conv2d", + "down_blocks.1.downsamplers.0.conv": "DownBlocks.Chain_7.Downsample.Conv2d", + "up_blocks.2.resnets.0.conv2": "UpBlocks.Chain_7.ResidualBlock.Chain.Conv2d", + "up_blocks.2.resnets.1.conv2": "UpBlocks.Chain_8.ResidualBlock.Chain.Conv2d", + "up_blocks.2.resnets.2.conv2": "UpBlocks.Chain_9.ResidualBlock.Chain.Conv2d", + "up_blocks.2.upsamplers.0.conv": "UpBlocks.Chain_9.Upsample.Conv2d", + "down_blocks.1.resnets.0.conv_shortcut": "DownBlocks.Chain_5.ResidualBlock.Conv2d", + "down_blocks.1.attentions.0.proj_in": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_1.Conv2d", + "down_blocks.1.attentions.0.proj_out": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_3.Conv2d", + "down_blocks.1.attentions.1.proj_in": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_1.Conv2d", + "down_blocks.1.attentions.1.proj_out": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_3.Conv2d", + "up_blocks.2.attentions.0.proj_in": "UpBlocks.Chain_7.CLIPLCrossAttention.Chain_1.Conv2d", + "up_blocks.2.attentions.0.proj_out": "UpBlocks.Chain_7.CLIPLCrossAttention.Chain_3.Conv2d", + "up_blocks.2.attentions.1.proj_in": "UpBlocks.Chain_8.CLIPLCrossAttention.Chain_1.Conv2d", + "up_blocks.2.attentions.1.proj_out": "UpBlocks.Chain_8.CLIPLCrossAttention.Chain_3.Conv2d", + "up_blocks.2.attentions.2.proj_in": "UpBlocks.Chain_9.CLIPLCrossAttention.Chain_1.Conv2d", + "up_blocks.2.attentions.2.proj_out": "UpBlocks.Chain_9.CLIPLCrossAttention.Chain_3.Conv2d", + "down_blocks.1.attentions.0.transformer_blocks.0.norm1": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.LayerNorm", + "down_blocks.1.attentions.0.transformer_blocks.0.norm2": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.LayerNorm", + "down_blocks.1.attentions.0.transformer_blocks.0.norm3": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.LayerNorm", + "down_blocks.1.attentions.1.transformer_blocks.0.norm1": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.LayerNorm", + "down_blocks.1.attentions.1.transformer_blocks.0.norm2": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.LayerNorm", + "down_blocks.1.attentions.1.transformer_blocks.0.norm3": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.LayerNorm", + "up_blocks.2.attentions.0.transformer_blocks.0.norm1": "UpBlocks.Chain_7.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.LayerNorm", + "up_blocks.2.attentions.0.transformer_blocks.0.norm2": "UpBlocks.Chain_7.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.LayerNorm", + "up_blocks.2.attentions.0.transformer_blocks.0.norm3": "UpBlocks.Chain_7.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.LayerNorm", + "up_blocks.2.attentions.1.transformer_blocks.0.norm1": "UpBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.LayerNorm", + "up_blocks.2.attentions.1.transformer_blocks.0.norm2": "UpBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.LayerNorm", + "up_blocks.2.attentions.1.transformer_blocks.0.norm3": "UpBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.LayerNorm", + "up_blocks.2.attentions.2.transformer_blocks.0.norm1": "UpBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.LayerNorm", + "up_blocks.2.attentions.2.transformer_blocks.0.norm2": "UpBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.LayerNorm", + "up_blocks.2.attentions.2.transformer_blocks.0.norm3": "UpBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.LayerNorm", + "down_blocks.1.attentions.0.transformer_blocks.0.attn1.to_q": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.1.attentions.0.transformer_blocks.0.attn1.to_k": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.1.attentions.0.transformer_blocks.0.attn1.to_v": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.1.attentions.0.transformer_blocks.0.attn2.to_q": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.1.attentions.1.transformer_blocks.0.attn1.to_q": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.1.attentions.1.transformer_blocks.0.attn1.to_k": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.1.attentions.1.transformer_blocks.0.attn1.to_v": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.1.attentions.1.transformer_blocks.0.attn2.to_q": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.2.attentions.0.transformer_blocks.0.attn1.to_q": "UpBlocks.Chain_7.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.2.attentions.0.transformer_blocks.0.attn1.to_k": "UpBlocks.Chain_7.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.2.attentions.0.transformer_blocks.0.attn1.to_v": "UpBlocks.Chain_7.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.2.attentions.0.transformer_blocks.0.attn2.to_q": "UpBlocks.Chain_7.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.2.attentions.1.transformer_blocks.0.attn1.to_q": "UpBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.2.attentions.1.transformer_blocks.0.attn1.to_k": "UpBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.2.attentions.1.transformer_blocks.0.attn1.to_v": "UpBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.2.attentions.1.transformer_blocks.0.attn2.to_q": "UpBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.2.attentions.2.transformer_blocks.0.attn1.to_q": "UpBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.2.attentions.2.transformer_blocks.0.attn1.to_k": "UpBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.2.attentions.2.transformer_blocks.0.attn1.to_v": "UpBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.2.attentions.2.transformer_blocks.0.attn2.to_q": "UpBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.1.attentions.0.transformer_blocks.0.attn1.to_out.0": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Linear", + "down_blocks.1.attentions.0.transformer_blocks.0.attn2.to_out.0": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Linear", + "down_blocks.1.attentions.1.transformer_blocks.0.attn1.to_out.0": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Linear", + "down_blocks.1.attentions.1.transformer_blocks.0.attn2.to_out.0": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Linear", + "up_blocks.2.attentions.0.transformer_blocks.0.attn1.to_out.0": "UpBlocks.Chain_7.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Linear", + "up_blocks.2.attentions.0.transformer_blocks.0.attn2.to_out.0": "UpBlocks.Chain_7.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Linear", + "up_blocks.2.attentions.1.transformer_blocks.0.attn1.to_out.0": "UpBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Linear", + "up_blocks.2.attentions.1.transformer_blocks.0.attn2.to_out.0": "UpBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Linear", + "up_blocks.2.attentions.2.transformer_blocks.0.attn1.to_out.0": "UpBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Linear", + "up_blocks.2.attentions.2.transformer_blocks.0.attn2.to_out.0": "UpBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Linear", + "down_blocks.1.attentions.0.transformer_blocks.0.attn2.to_k": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.1.attentions.0.transformer_blocks.0.attn2.to_v": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.1.attentions.1.transformer_blocks.0.attn2.to_k": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.1.attentions.1.transformer_blocks.0.attn2.to_v": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.2.attentions.0.transformer_blocks.0.attn2.to_k": "UpBlocks.Chain_7.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.2.attentions.0.transformer_blocks.0.attn2.to_v": "UpBlocks.Chain_7.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.2.attentions.1.transformer_blocks.0.attn2.to_k": "UpBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.2.attentions.1.transformer_blocks.0.attn2.to_v": "UpBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.2.attentions.2.transformer_blocks.0.attn2.to_k": "UpBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.2.attentions.2.transformer_blocks.0.attn2.to_v": "UpBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.1.attentions.0.transformer_blocks.0.ff.net.0.proj": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_1", + "down_blocks.1.attentions.1.transformer_blocks.0.ff.net.0.proj": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_1", + "up_blocks.2.attentions.0.transformer_blocks.0.ff.net.0.proj": "UpBlocks.Chain_7.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_1", + "up_blocks.2.attentions.1.transformer_blocks.0.ff.net.0.proj": "UpBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_1", + "up_blocks.2.attentions.2.transformer_blocks.0.ff.net.0.proj": "UpBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_1", + "down_blocks.1.attentions.0.transformer_blocks.0.ff.net.2": "DownBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_2", + "down_blocks.1.attentions.1.transformer_blocks.0.ff.net.2": "DownBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_2", + "up_blocks.2.attentions.0.transformer_blocks.0.ff.net.2": "UpBlocks.Chain_7.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_2", + "up_blocks.2.attentions.1.transformer_blocks.0.ff.net.2": "UpBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_2", + "up_blocks.2.attentions.2.transformer_blocks.0.ff.net.2": "UpBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_2", + "down_blocks.2.resnets.0.conv1": "DownBlocks.Chain_8.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "down_blocks.2.resnets.0.norm2": "DownBlocks.Chain_8.ResidualBlock.Chain.GroupNorm_2", + "down_blocks.2.attentions.0.norm": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_1.GroupNorm", + "down_blocks.2.resnets.1.norm1": "DownBlocks.Chain_9.ResidualBlock.Chain.GroupNorm_1", + "down_blocks.2.resnets.1.norm2": "DownBlocks.Chain_9.ResidualBlock.Chain.GroupNorm_2", + "down_blocks.2.attentions.1.norm": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_1.GroupNorm", + "down_blocks.3.resnets.0.norm1": "DownBlocks.Chain_11.ResidualBlock.Chain.GroupNorm_1", + "down_blocks.3.resnets.0.norm2": "DownBlocks.Chain_11.ResidualBlock.Chain.GroupNorm_2", + "down_blocks.3.resnets.1.norm1": "DownBlocks.Chain_12.ResidualBlock.Chain.GroupNorm_1", + "down_blocks.3.resnets.1.norm2": "DownBlocks.Chain_12.ResidualBlock.Chain.GroupNorm_2", + "mid_block.resnets.0.norm1": "Sum.MiddleBlock.ResidualBlock_1.Chain.GroupNorm_1", + "mid_block.resnets.0.norm2": "Sum.MiddleBlock.ResidualBlock_1.Chain.GroupNorm_2", + "mid_block.attentions.0.norm": "Sum.MiddleBlock.CLIPLCrossAttention.Chain_1.GroupNorm", + "mid_block.resnets.1.norm1": "Sum.MiddleBlock.ResidualBlock_2.Chain.GroupNorm_1", + "mid_block.resnets.1.norm2": "Sum.MiddleBlock.ResidualBlock_2.Chain.GroupNorm_2", + "up_blocks.0.resnets.0.norm2": "UpBlocks.Chain_1.ResidualBlock.Chain.GroupNorm_2", + "up_blocks.0.resnets.1.norm2": "UpBlocks.Chain_2.ResidualBlock.Chain.GroupNorm_2", + "up_blocks.0.resnets.2.norm2": "UpBlocks.Chain_3.ResidualBlock.Chain.GroupNorm_2", + "up_blocks.1.resnets.0.norm2": "UpBlocks.Chain_4.ResidualBlock.Chain.GroupNorm_2", + "up_blocks.1.attentions.0.norm": "UpBlocks.Chain_4.CLIPLCrossAttention.Chain_1.GroupNorm", + "up_blocks.1.resnets.1.norm2": "UpBlocks.Chain_5.ResidualBlock.Chain.GroupNorm_2", + "up_blocks.1.attentions.1.norm": "UpBlocks.Chain_5.CLIPLCrossAttention.Chain_1.GroupNorm", + "up_blocks.1.resnets.2.norm2": "UpBlocks.Chain_6.ResidualBlock.Chain.GroupNorm_2", + "up_blocks.1.attentions.2.norm": "UpBlocks.Chain_6.CLIPLCrossAttention.Chain_1.GroupNorm", + "up_blocks.2.resnets.1.norm1": "UpBlocks.Chain_8.ResidualBlock.Chain.GroupNorm_1", + "down_blocks.2.resnets.0.conv2": "DownBlocks.Chain_8.ResidualBlock.Chain.Conv2d", + "down_blocks.2.resnets.1.conv1": "DownBlocks.Chain_9.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "down_blocks.2.resnets.1.conv2": "DownBlocks.Chain_9.ResidualBlock.Chain.Conv2d", + "down_blocks.2.downsamplers.0.conv": "DownBlocks.Chain_10.Downsample.Conv2d", + "down_blocks.3.resnets.0.conv1": "DownBlocks.Chain_11.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "down_blocks.3.resnets.0.conv2": "DownBlocks.Chain_11.ResidualBlock.Chain.Conv2d", + "down_blocks.3.resnets.1.conv1": "DownBlocks.Chain_12.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "down_blocks.3.resnets.1.conv2": "DownBlocks.Chain_12.ResidualBlock.Chain.Conv2d", + "mid_block.resnets.0.conv1": "Sum.MiddleBlock.ResidualBlock_1.Chain.RangeAdapter2d.Conv2d", + "mid_block.resnets.0.conv2": "Sum.MiddleBlock.ResidualBlock_1.Chain.Conv2d", + "mid_block.resnets.1.conv1": "Sum.MiddleBlock.ResidualBlock_2.Chain.RangeAdapter2d.Conv2d", + "mid_block.resnets.1.conv2": "Sum.MiddleBlock.ResidualBlock_2.Chain.Conv2d", + "up_blocks.0.resnets.0.conv2": "UpBlocks.Chain_1.ResidualBlock.Chain.Conv2d", + "up_blocks.0.resnets.1.conv2": "UpBlocks.Chain_2.ResidualBlock.Chain.Conv2d", + "up_blocks.0.resnets.2.conv2": "UpBlocks.Chain_3.ResidualBlock.Chain.Conv2d", + "up_blocks.0.upsamplers.0.conv": "UpBlocks.Chain_3.Upsample.Conv2d", + "up_blocks.1.resnets.0.conv2": "UpBlocks.Chain_4.ResidualBlock.Chain.Conv2d", + "up_blocks.1.resnets.1.conv2": "UpBlocks.Chain_5.ResidualBlock.Chain.Conv2d", + "up_blocks.1.resnets.2.conv2": "UpBlocks.Chain_6.ResidualBlock.Chain.Conv2d", + "up_blocks.1.upsamplers.0.conv": "UpBlocks.Chain_6.Upsample.Conv2d", + "down_blocks.2.resnets.0.conv_shortcut": "DownBlocks.Chain_8.ResidualBlock.Conv2d", + "down_blocks.2.attentions.0.proj_in": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_1.Conv2d", + "down_blocks.2.attentions.0.proj_out": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_3.Conv2d", + "down_blocks.2.attentions.1.proj_in": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_1.Conv2d", + "down_blocks.2.attentions.1.proj_out": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_3.Conv2d", + "mid_block.attentions.0.proj_in": "Sum.MiddleBlock.CLIPLCrossAttention.Chain_1.Conv2d", + "mid_block.attentions.0.proj_out": "Sum.MiddleBlock.CLIPLCrossAttention.Chain_3.Conv2d", + "up_blocks.1.attentions.0.proj_in": "UpBlocks.Chain_4.CLIPLCrossAttention.Chain_1.Conv2d", + "up_blocks.1.attentions.0.proj_out": "UpBlocks.Chain_4.CLIPLCrossAttention.Chain_3.Conv2d", + "up_blocks.1.attentions.1.proj_in": "UpBlocks.Chain_5.CLIPLCrossAttention.Chain_1.Conv2d", + "up_blocks.1.attentions.1.proj_out": "UpBlocks.Chain_5.CLIPLCrossAttention.Chain_3.Conv2d", + "up_blocks.1.attentions.2.proj_in": "UpBlocks.Chain_6.CLIPLCrossAttention.Chain_1.Conv2d", + "up_blocks.1.attentions.2.proj_out": "UpBlocks.Chain_6.CLIPLCrossAttention.Chain_3.Conv2d", + "down_blocks.2.attentions.0.transformer_blocks.0.norm1": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.0.norm2": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.0.norm3": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.0.norm1": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.0.norm2": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.0.norm3": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.LayerNorm", + "mid_block.attentions.0.transformer_blocks.0.norm1": "Sum.MiddleBlock.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.LayerNorm", + "mid_block.attentions.0.transformer_blocks.0.norm2": "Sum.MiddleBlock.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.LayerNorm", + "mid_block.attentions.0.transformer_blocks.0.norm3": "Sum.MiddleBlock.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.LayerNorm", + "up_blocks.1.attentions.0.transformer_blocks.0.norm1": "UpBlocks.Chain_4.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.LayerNorm", + "up_blocks.1.attentions.0.transformer_blocks.0.norm2": "UpBlocks.Chain_4.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.LayerNorm", + "up_blocks.1.attentions.0.transformer_blocks.0.norm3": "UpBlocks.Chain_4.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.LayerNorm", + "up_blocks.1.attentions.1.transformer_blocks.0.norm1": "UpBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.LayerNorm", + "up_blocks.1.attentions.1.transformer_blocks.0.norm2": "UpBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.LayerNorm", + "up_blocks.1.attentions.1.transformer_blocks.0.norm3": "UpBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.LayerNorm", + "up_blocks.1.attentions.2.transformer_blocks.0.norm1": "UpBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.LayerNorm", + "up_blocks.1.attentions.2.transformer_blocks.0.norm2": "UpBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.LayerNorm", + "up_blocks.1.attentions.2.transformer_blocks.0.norm3": "UpBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.0.attn1.to_q": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.0.attn1.to_k": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.0.attn1.to_v": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.2.attentions.0.transformer_blocks.0.attn2.to_q": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.0.attn1.to_q": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.0.attn1.to_k": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.0.attn1.to_v": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.2.attentions.1.transformer_blocks.0.attn2.to_q": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_1", + "mid_block.attentions.0.transformer_blocks.0.attn1.to_q": "Sum.MiddleBlock.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_1", + "mid_block.attentions.0.transformer_blocks.0.attn1.to_k": "Sum.MiddleBlock.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_2", + "mid_block.attentions.0.transformer_blocks.0.attn1.to_v": "Sum.MiddleBlock.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_3", + "mid_block.attentions.0.transformer_blocks.0.attn2.to_q": "Sum.MiddleBlock.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.1.attentions.0.transformer_blocks.0.attn1.to_q": "UpBlocks.Chain_4.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.1.attentions.0.transformer_blocks.0.attn1.to_k": "UpBlocks.Chain_4.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.1.attentions.0.transformer_blocks.0.attn1.to_v": "UpBlocks.Chain_4.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.1.attentions.0.transformer_blocks.0.attn2.to_q": "UpBlocks.Chain_4.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.1.attentions.1.transformer_blocks.0.attn1.to_q": "UpBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.1.attentions.1.transformer_blocks.0.attn1.to_k": "UpBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.1.attentions.1.transformer_blocks.0.attn1.to_v": "UpBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.1.attentions.1.transformer_blocks.0.attn2.to_q": "UpBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.1.attentions.2.transformer_blocks.0.attn1.to_q": "UpBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.1.attentions.2.transformer_blocks.0.attn1.to_k": "UpBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.1.attentions.2.transformer_blocks.0.attn1.to_v": "UpBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.1.attentions.2.transformer_blocks.0.attn2.to_q": "UpBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.0.attn2.to_k": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.0.attn2.to_v": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.2.attentions.1.transformer_blocks.0.attn2.to_k": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.0.attn2.to_v": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_3", + "mid_block.attentions.0.transformer_blocks.0.attn2.to_k": "Sum.MiddleBlock.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_2", + "mid_block.attentions.0.transformer_blocks.0.attn2.to_v": "Sum.MiddleBlock.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.1.attentions.0.transformer_blocks.0.attn2.to_k": "UpBlocks.Chain_4.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.1.attentions.0.transformer_blocks.0.attn2.to_v": "UpBlocks.Chain_4.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.1.attentions.1.transformer_blocks.0.attn2.to_k": "UpBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.1.attentions.1.transformer_blocks.0.attn2.to_v": "UpBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.1.attentions.2.transformer_blocks.0.attn2.to_k": "UpBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.1.attentions.2.transformer_blocks.0.attn2.to_v": "UpBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.2.attentions.0.transformer_blocks.0.ff.net.0.proj": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.0.ff.net.0.proj": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_1", + "mid_block.attentions.0.transformer_blocks.0.ff.net.0.proj": "Sum.MiddleBlock.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_1", + "up_blocks.1.attentions.0.transformer_blocks.0.ff.net.0.proj": "UpBlocks.Chain_4.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_1", + "up_blocks.1.attentions.1.transformer_blocks.0.ff.net.0.proj": "UpBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_1", + "up_blocks.1.attentions.2.transformer_blocks.0.ff.net.0.proj": "UpBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.0.ff.net.2": "DownBlocks.Chain_8.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.0.ff.net.2": "DownBlocks.Chain_9.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_2", + "mid_block.attentions.0.transformer_blocks.0.ff.net.2": "Sum.MiddleBlock.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_2", + "up_blocks.1.attentions.0.transformer_blocks.0.ff.net.2": "UpBlocks.Chain_4.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_2", + "up_blocks.1.attentions.1.transformer_blocks.0.ff.net.2": "UpBlocks.Chain_5.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_2", + "up_blocks.1.attentions.2.transformer_blocks.0.ff.net.2": "UpBlocks.Chain_6.CLIPLCrossAttention.Chain_2.CrossAttentionBlock.Residual_3.Linear_2", + "up_blocks.0.resnets.0.norm1": "UpBlocks.Chain_1.ResidualBlock.Chain.GroupNorm_1", + "up_blocks.0.resnets.1.norm1": "UpBlocks.Chain_2.ResidualBlock.Chain.GroupNorm_1", + "up_blocks.0.resnets.2.norm1": "UpBlocks.Chain_3.ResidualBlock.Chain.GroupNorm_1", + "up_blocks.1.resnets.0.norm1": "UpBlocks.Chain_4.ResidualBlock.Chain.GroupNorm_1", + "up_blocks.1.resnets.1.norm1": "UpBlocks.Chain_5.ResidualBlock.Chain.GroupNorm_1", + "up_blocks.0.resnets.0.conv1": "UpBlocks.Chain_1.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "up_blocks.0.resnets.1.conv1": "UpBlocks.Chain_2.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "up_blocks.0.resnets.2.conv1": "UpBlocks.Chain_3.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "up_blocks.1.resnets.0.conv1": "UpBlocks.Chain_4.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "up_blocks.1.resnets.1.conv1": "UpBlocks.Chain_5.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "up_blocks.0.resnets.0.conv_shortcut": "UpBlocks.Chain_1.ResidualBlock.Conv2d", + "up_blocks.0.resnets.1.conv_shortcut": "UpBlocks.Chain_2.ResidualBlock.Conv2d", + "up_blocks.0.resnets.2.conv_shortcut": "UpBlocks.Chain_3.ResidualBlock.Conv2d", + "up_blocks.1.resnets.0.conv_shortcut": "UpBlocks.Chain_4.ResidualBlock.Conv2d", + "up_blocks.1.resnets.1.conv_shortcut": "UpBlocks.Chain_5.ResidualBlock.Conv2d", + "up_blocks.1.resnets.2.norm1": "UpBlocks.Chain_6.ResidualBlock.Chain.GroupNorm_1", + "up_blocks.2.resnets.0.norm1": "UpBlocks.Chain_7.ResidualBlock.Chain.GroupNorm_1", + "up_blocks.1.resnets.2.conv1": "UpBlocks.Chain_6.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "up_blocks.1.resnets.2.conv_shortcut": "UpBlocks.Chain_6.ResidualBlock.Conv2d", + "up_blocks.2.resnets.0.conv1": "UpBlocks.Chain_7.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "up_blocks.2.resnets.0.conv_shortcut": "UpBlocks.Chain_7.ResidualBlock.Conv2d", + "up_blocks.2.resnets.1.conv1": "UpBlocks.Chain_8.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "up_blocks.2.resnets.1.conv_shortcut": "UpBlocks.Chain_8.ResidualBlock.Conv2d", + "up_blocks.2.resnets.2.norm1": "UpBlocks.Chain_9.ResidualBlock.Chain.GroupNorm_1", + "up_blocks.3.resnets.0.norm1": "UpBlocks.Chain_10.ResidualBlock.Chain.GroupNorm_1", + "up_blocks.2.resnets.2.conv1": "UpBlocks.Chain_9.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "up_blocks.2.resnets.2.conv_shortcut": "UpBlocks.Chain_9.ResidualBlock.Conv2d", + "up_blocks.3.resnets.0.conv1": "UpBlocks.Chain_10.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "up_blocks.3.resnets.0.conv_shortcut": "UpBlocks.Chain_10.ResidualBlock.Conv2d", + "up_blocks.3.resnets.1.conv1": "UpBlocks.Chain_11.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "up_blocks.3.resnets.2.conv1": "UpBlocks.Chain_12.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "up_blocks.3.resnets.1.conv_shortcut": "UpBlocks.Chain_11.ResidualBlock.Conv2d", + "up_blocks.3.resnets.2.conv_shortcut": "UpBlocks.Chain_12.ResidualBlock.Conv2d", + "conv_out": "Chain.Conv2d" + }, + "regex_map": {}, + "ignore_prefixes": [], + "source_aliases": {}, + "reshapes": {} +} \ No newline at end of file diff --git a/imaginairy/weight_management/weight_maps/Diffusers-UNet-SDXL.weightmap.json b/imaginairy/weight_management/weight_maps/Diffusers-UNet-SDXL.weightmap.json new file mode 100644 index 0000000..b5c90db --- /dev/null +++ b/imaginairy/weight_management/weight_maps/Diffusers-UNet-SDXL.weightmap.json @@ -0,0 +1,1058 @@ +{ + "name_map": { + "time_embedding.linear_1": "TimestepEncoder.Sum.Chain.RangeEncoder.Linear_1", + "time_embedding.linear_2": "TimestepEncoder.Sum.Chain.RangeEncoder.Linear_2", + "add_embedding.linear_2": "TimestepEncoder.Sum.TextTimeEmbedding.Linear_2", + "down_blocks.2.resnets.0.time_emb_proj": "DownBlocks.Chain_8.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "down_blocks.2.attentions.0.proj_in": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_1.Linear", + "down_blocks.2.attentions.0.transformer_blocks.0.attn1.to_out.0": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Linear", + "down_blocks.2.attentions.0.transformer_blocks.0.attn2.to_out.0": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Linear", + "down_blocks.2.attentions.0.transformer_blocks.1.attn1.to_out.0": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Linear", + "down_blocks.2.attentions.0.transformer_blocks.1.attn2.to_out.0": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Linear", + "down_blocks.2.attentions.0.transformer_blocks.2.attn1.to_out.0": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.SelfAttention.Linear", + "down_blocks.2.attentions.0.transformer_blocks.2.attn2.to_out.0": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.Attention.Linear", + "down_blocks.2.attentions.0.transformer_blocks.3.attn1.to_out.0": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.SelfAttention.Linear", + "down_blocks.2.attentions.0.transformer_blocks.3.attn2.to_out.0": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.Attention.Linear", + "down_blocks.2.attentions.0.transformer_blocks.4.attn1.to_out.0": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.SelfAttention.Linear", + "down_blocks.2.attentions.0.transformer_blocks.4.attn2.to_out.0": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.Attention.Linear", + "down_blocks.2.attentions.0.transformer_blocks.5.attn1.to_out.0": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.SelfAttention.Linear", + "down_blocks.2.attentions.0.transformer_blocks.5.attn2.to_out.0": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.Attention.Linear", + "down_blocks.2.attentions.0.transformer_blocks.6.attn1.to_out.0": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.SelfAttention.Linear", + "down_blocks.2.attentions.0.transformer_blocks.6.attn2.to_out.0": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.Attention.Linear", + "down_blocks.2.attentions.0.transformer_blocks.7.attn1.to_out.0": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.SelfAttention.Linear", + "down_blocks.2.attentions.0.transformer_blocks.7.attn2.to_out.0": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.Attention.Linear", + "down_blocks.2.attentions.0.transformer_blocks.8.attn1.to_out.0": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.SelfAttention.Linear", + "down_blocks.2.attentions.0.transformer_blocks.8.attn2.to_out.0": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.Attention.Linear", + "down_blocks.2.attentions.0.transformer_blocks.9.attn1.to_out.0": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.SelfAttention.Linear", + "down_blocks.2.attentions.0.transformer_blocks.9.attn2.to_out.0": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.Attention.Linear", + "down_blocks.2.attentions.0.proj_out": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_3.Linear", + "down_blocks.2.resnets.1.time_emb_proj": "DownBlocks.Chain_9.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "down_blocks.2.attentions.1.proj_in": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_1.Linear", + "down_blocks.2.attentions.1.transformer_blocks.0.attn1.to_out.0": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Linear", + "down_blocks.2.attentions.1.transformer_blocks.0.attn2.to_out.0": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Linear", + "down_blocks.2.attentions.1.transformer_blocks.1.attn1.to_out.0": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Linear", + "down_blocks.2.attentions.1.transformer_blocks.1.attn2.to_out.0": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Linear", + "down_blocks.2.attentions.1.transformer_blocks.2.attn1.to_out.0": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.SelfAttention.Linear", + "down_blocks.2.attentions.1.transformer_blocks.2.attn2.to_out.0": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.Attention.Linear", + "down_blocks.2.attentions.1.transformer_blocks.3.attn1.to_out.0": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.SelfAttention.Linear", + "down_blocks.2.attentions.1.transformer_blocks.3.attn2.to_out.0": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.Attention.Linear", + "down_blocks.2.attentions.1.transformer_blocks.4.attn1.to_out.0": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.SelfAttention.Linear", + "down_blocks.2.attentions.1.transformer_blocks.4.attn2.to_out.0": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.Attention.Linear", + "down_blocks.2.attentions.1.transformer_blocks.5.attn1.to_out.0": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.SelfAttention.Linear", + "down_blocks.2.attentions.1.transformer_blocks.5.attn2.to_out.0": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.Attention.Linear", + "down_blocks.2.attentions.1.transformer_blocks.6.attn1.to_out.0": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.SelfAttention.Linear", + "down_blocks.2.attentions.1.transformer_blocks.6.attn2.to_out.0": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.Attention.Linear", + "down_blocks.2.attentions.1.transformer_blocks.7.attn1.to_out.0": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.SelfAttention.Linear", + "down_blocks.2.attentions.1.transformer_blocks.7.attn2.to_out.0": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.Attention.Linear", + "down_blocks.2.attentions.1.transformer_blocks.8.attn1.to_out.0": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.SelfAttention.Linear", + "down_blocks.2.attentions.1.transformer_blocks.8.attn2.to_out.0": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.Attention.Linear", + "down_blocks.2.attentions.1.transformer_blocks.9.attn1.to_out.0": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.SelfAttention.Linear", + "down_blocks.2.attentions.1.transformer_blocks.9.attn2.to_out.0": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.Attention.Linear", + "down_blocks.2.attentions.1.proj_out": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_3.Linear", + "mid_block.resnets.0.time_emb_proj": "MiddleBlock.ResidualBlock_1.Chain.RangeAdapter2d.Chain.Linear", + "mid_block.attentions.0.proj_in": "MiddleBlock.SDXLCrossAttention.Chain_1.Linear", + "mid_block.attentions.0.transformer_blocks.0.attn1.to_out.0": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Linear", + "mid_block.attentions.0.transformer_blocks.0.attn2.to_out.0": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Linear", + "mid_block.attentions.0.transformer_blocks.1.attn1.to_out.0": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Linear", + "mid_block.attentions.0.transformer_blocks.1.attn2.to_out.0": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Linear", + "mid_block.attentions.0.transformer_blocks.2.attn1.to_out.0": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.SelfAttention.Linear", + "mid_block.attentions.0.transformer_blocks.2.attn2.to_out.0": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.Attention.Linear", + "mid_block.attentions.0.transformer_blocks.3.attn1.to_out.0": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.SelfAttention.Linear", + "mid_block.attentions.0.transformer_blocks.3.attn2.to_out.0": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.Attention.Linear", + "mid_block.attentions.0.transformer_blocks.4.attn1.to_out.0": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.SelfAttention.Linear", + "mid_block.attentions.0.transformer_blocks.4.attn2.to_out.0": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.Attention.Linear", + "mid_block.attentions.0.transformer_blocks.5.attn1.to_out.0": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.SelfAttention.Linear", + "mid_block.attentions.0.transformer_blocks.5.attn2.to_out.0": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.Attention.Linear", + "mid_block.attentions.0.transformer_blocks.6.attn1.to_out.0": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.SelfAttention.Linear", + "mid_block.attentions.0.transformer_blocks.6.attn2.to_out.0": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.Attention.Linear", + "mid_block.attentions.0.transformer_blocks.7.attn1.to_out.0": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.SelfAttention.Linear", + "mid_block.attentions.0.transformer_blocks.7.attn2.to_out.0": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.Attention.Linear", + "mid_block.attentions.0.transformer_blocks.8.attn1.to_out.0": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.SelfAttention.Linear", + "mid_block.attentions.0.transformer_blocks.8.attn2.to_out.0": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.Attention.Linear", + "mid_block.attentions.0.transformer_blocks.9.attn1.to_out.0": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.SelfAttention.Linear", + "mid_block.attentions.0.transformer_blocks.9.attn2.to_out.0": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.Attention.Linear", + "mid_block.attentions.0.proj_out": "MiddleBlock.SDXLCrossAttention.Chain_3.Linear", + "mid_block.resnets.1.time_emb_proj": "MiddleBlock.ResidualBlock_2.Chain.RangeAdapter2d.Chain.Linear", + "up_blocks.0.resnets.0.time_emb_proj": "UpBlocks.Chain_1.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "up_blocks.0.attentions.0.proj_in": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_1.Linear", + "up_blocks.0.attentions.0.transformer_blocks.0.attn1.to_out.0": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.0.transformer_blocks.0.attn2.to_out.0": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Linear", + "up_blocks.0.attentions.0.transformer_blocks.1.attn1.to_out.0": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.0.transformer_blocks.1.attn2.to_out.0": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Linear", + "up_blocks.0.attentions.0.transformer_blocks.2.attn1.to_out.0": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.0.transformer_blocks.2.attn2.to_out.0": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.Attention.Linear", + "up_blocks.0.attentions.0.transformer_blocks.3.attn1.to_out.0": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.0.transformer_blocks.3.attn2.to_out.0": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.Attention.Linear", + "up_blocks.0.attentions.0.transformer_blocks.4.attn1.to_out.0": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.0.transformer_blocks.4.attn2.to_out.0": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.Attention.Linear", + "up_blocks.0.attentions.0.transformer_blocks.5.attn1.to_out.0": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.0.transformer_blocks.5.attn2.to_out.0": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.Attention.Linear", + "up_blocks.0.attentions.0.transformer_blocks.6.attn1.to_out.0": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.0.transformer_blocks.6.attn2.to_out.0": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.Attention.Linear", + "up_blocks.0.attentions.0.transformer_blocks.7.attn1.to_out.0": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.0.transformer_blocks.7.attn2.to_out.0": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.Attention.Linear", + "up_blocks.0.attentions.0.transformer_blocks.8.attn1.to_out.0": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.0.transformer_blocks.8.attn2.to_out.0": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.Attention.Linear", + "up_blocks.0.attentions.0.transformer_blocks.9.attn1.to_out.0": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.0.transformer_blocks.9.attn2.to_out.0": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.Attention.Linear", + "up_blocks.0.attentions.0.proj_out": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_3.Linear", + "up_blocks.0.resnets.1.time_emb_proj": "UpBlocks.Chain_2.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "up_blocks.0.attentions.1.proj_in": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_1.Linear", + "up_blocks.0.attentions.1.transformer_blocks.0.attn1.to_out.0": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.1.transformer_blocks.0.attn2.to_out.0": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Linear", + "up_blocks.0.attentions.1.transformer_blocks.1.attn1.to_out.0": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.1.transformer_blocks.1.attn2.to_out.0": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Linear", + "up_blocks.0.attentions.1.transformer_blocks.2.attn1.to_out.0": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.1.transformer_blocks.2.attn2.to_out.0": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.Attention.Linear", + "up_blocks.0.attentions.1.transformer_blocks.3.attn1.to_out.0": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.1.transformer_blocks.3.attn2.to_out.0": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.Attention.Linear", + "up_blocks.0.attentions.1.transformer_blocks.4.attn1.to_out.0": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.1.transformer_blocks.4.attn2.to_out.0": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.Attention.Linear", + "up_blocks.0.attentions.1.transformer_blocks.5.attn1.to_out.0": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.1.transformer_blocks.5.attn2.to_out.0": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.Attention.Linear", + "up_blocks.0.attentions.1.transformer_blocks.6.attn1.to_out.0": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.1.transformer_blocks.6.attn2.to_out.0": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.Attention.Linear", + "up_blocks.0.attentions.1.transformer_blocks.7.attn1.to_out.0": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.1.transformer_blocks.7.attn2.to_out.0": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.Attention.Linear", + "up_blocks.0.attentions.1.transformer_blocks.8.attn1.to_out.0": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.1.transformer_blocks.8.attn2.to_out.0": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.Attention.Linear", + "up_blocks.0.attentions.1.transformer_blocks.9.attn1.to_out.0": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.1.transformer_blocks.9.attn2.to_out.0": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.Attention.Linear", + "up_blocks.0.attentions.1.proj_out": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_3.Linear", + "up_blocks.0.resnets.2.time_emb_proj": "UpBlocks.Chain_3.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "up_blocks.0.attentions.2.proj_in": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_1.Linear", + "up_blocks.0.attentions.2.transformer_blocks.0.attn1.to_out.0": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.2.transformer_blocks.0.attn2.to_out.0": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Linear", + "up_blocks.0.attentions.2.transformer_blocks.1.attn1.to_out.0": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.2.transformer_blocks.1.attn2.to_out.0": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Linear", + "up_blocks.0.attentions.2.transformer_blocks.2.attn1.to_out.0": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.2.transformer_blocks.2.attn2.to_out.0": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.Attention.Linear", + "up_blocks.0.attentions.2.transformer_blocks.3.attn1.to_out.0": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.2.transformer_blocks.3.attn2.to_out.0": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.Attention.Linear", + "up_blocks.0.attentions.2.transformer_blocks.4.attn1.to_out.0": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.2.transformer_blocks.4.attn2.to_out.0": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.Attention.Linear", + "up_blocks.0.attentions.2.transformer_blocks.5.attn1.to_out.0": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.2.transformer_blocks.5.attn2.to_out.0": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.Attention.Linear", + "up_blocks.0.attentions.2.transformer_blocks.6.attn1.to_out.0": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.2.transformer_blocks.6.attn2.to_out.0": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.Attention.Linear", + "up_blocks.0.attentions.2.transformer_blocks.7.attn1.to_out.0": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.2.transformer_blocks.7.attn2.to_out.0": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.Attention.Linear", + "up_blocks.0.attentions.2.transformer_blocks.8.attn1.to_out.0": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.2.transformer_blocks.8.attn2.to_out.0": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.Attention.Linear", + "up_blocks.0.attentions.2.transformer_blocks.9.attn1.to_out.0": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.SelfAttention.Linear", + "up_blocks.0.attentions.2.transformer_blocks.9.attn2.to_out.0": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.Attention.Linear", + "up_blocks.0.attentions.2.proj_out": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_3.Linear", + "add_embedding.linear_1": "TimestepEncoder.Sum.TextTimeEmbedding.Linear_1", + "conv_in": "DownBlocks.Chain_1.Conv2d", + "down_blocks.0.resnets.0.norm1": "DownBlocks.Chain_2.ResidualBlock.Chain.GroupNorm_1", + "down_blocks.0.resnets.0.norm2": "DownBlocks.Chain_2.ResidualBlock.Chain.GroupNorm_2", + "down_blocks.0.resnets.1.norm1": "DownBlocks.Chain_3.ResidualBlock.Chain.GroupNorm_1", + "down_blocks.0.resnets.1.norm2": "DownBlocks.Chain_3.ResidualBlock.Chain.GroupNorm_2", + "down_blocks.1.resnets.0.norm1": "DownBlocks.Chain_5.ResidualBlock.Chain.GroupNorm_1", + "up_blocks.2.resnets.0.norm2": "UpBlocks.Chain_7.ResidualBlock.Chain.GroupNorm_2", + "up_blocks.2.resnets.1.norm2": "UpBlocks.Chain_8.ResidualBlock.Chain.GroupNorm_2", + "up_blocks.2.resnets.2.norm2": "UpBlocks.Chain_9.ResidualBlock.Chain.GroupNorm_2", + "conv_norm_out": "OutputBlock.GroupNorm", + "down_blocks.0.resnets.0.conv1": "DownBlocks.Chain_2.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "down_blocks.0.resnets.0.conv2": "DownBlocks.Chain_2.ResidualBlock.Chain.Conv2d", + "down_blocks.0.resnets.1.conv1": "DownBlocks.Chain_3.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "down_blocks.0.resnets.1.conv2": "DownBlocks.Chain_3.ResidualBlock.Chain.Conv2d", + "down_blocks.0.downsamplers.0.conv": "DownBlocks.Chain_4.Downsample.Conv2d", + "up_blocks.2.resnets.0.conv2": "UpBlocks.Chain_7.ResidualBlock.Chain.Conv2d", + "up_blocks.2.resnets.1.conv2": "UpBlocks.Chain_8.ResidualBlock.Chain.Conv2d", + "up_blocks.2.resnets.2.conv2": "UpBlocks.Chain_9.ResidualBlock.Chain.Conv2d", + "down_blocks.0.resnets.0.time_emb_proj": "DownBlocks.Chain_2.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "down_blocks.0.resnets.1.time_emb_proj": "DownBlocks.Chain_3.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "up_blocks.2.resnets.0.time_emb_proj": "UpBlocks.Chain_7.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "up_blocks.2.resnets.1.time_emb_proj": "UpBlocks.Chain_8.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "up_blocks.2.resnets.2.time_emb_proj": "UpBlocks.Chain_9.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "down_blocks.1.resnets.0.conv1": "DownBlocks.Chain_5.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "down_blocks.1.resnets.0.time_emb_proj": "DownBlocks.Chain_5.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "down_blocks.1.resnets.1.time_emb_proj": "DownBlocks.Chain_6.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "up_blocks.1.resnets.0.time_emb_proj": "UpBlocks.Chain_4.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "up_blocks.1.resnets.1.time_emb_proj": "UpBlocks.Chain_5.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "up_blocks.1.resnets.2.time_emb_proj": "UpBlocks.Chain_6.ResidualBlock.Chain.RangeAdapter2d.Chain.Linear", + "down_blocks.1.resnets.0.norm2": "DownBlocks.Chain_5.ResidualBlock.Chain.GroupNorm_2", + "down_blocks.1.attentions.0.norm": "DownBlocks.Chain_5.SDXLCrossAttention.Chain_1.GroupNorm", + "down_blocks.1.resnets.1.norm1": "DownBlocks.Chain_6.ResidualBlock.Chain.GroupNorm_1", + "down_blocks.1.resnets.1.norm2": "DownBlocks.Chain_6.ResidualBlock.Chain.GroupNorm_2", + "down_blocks.1.attentions.1.norm": "DownBlocks.Chain_6.SDXLCrossAttention.Chain_1.GroupNorm", + "down_blocks.2.resnets.0.norm1": "DownBlocks.Chain_8.ResidualBlock.Chain.GroupNorm_1", + "up_blocks.1.resnets.0.norm2": "UpBlocks.Chain_4.ResidualBlock.Chain.GroupNorm_2", + "up_blocks.1.attentions.0.norm": "UpBlocks.Chain_4.SDXLCrossAttention.Chain_1.GroupNorm", + "up_blocks.1.resnets.1.norm2": "UpBlocks.Chain_5.ResidualBlock.Chain.GroupNorm_2", + "up_blocks.1.attentions.1.norm": "UpBlocks.Chain_5.SDXLCrossAttention.Chain_1.GroupNorm", + "up_blocks.1.resnets.2.norm2": "UpBlocks.Chain_6.ResidualBlock.Chain.GroupNorm_2", + "up_blocks.1.attentions.2.norm": "UpBlocks.Chain_6.SDXLCrossAttention.Chain_1.GroupNorm", + "up_blocks.2.resnets.1.norm1": "UpBlocks.Chain_8.ResidualBlock.Chain.GroupNorm_1", + "up_blocks.2.resnets.2.norm1": "UpBlocks.Chain_9.ResidualBlock.Chain.GroupNorm_1", + "down_blocks.1.resnets.0.conv2": "DownBlocks.Chain_5.ResidualBlock.Chain.Conv2d", + "down_blocks.1.resnets.1.conv1": "DownBlocks.Chain_6.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "down_blocks.1.resnets.1.conv2": "DownBlocks.Chain_6.ResidualBlock.Chain.Conv2d", + "down_blocks.1.downsamplers.0.conv": "DownBlocks.Chain_7.Downsample.Conv2d", + "up_blocks.1.resnets.0.conv2": "UpBlocks.Chain_4.ResidualBlock.Chain.Conv2d", + "up_blocks.1.resnets.1.conv2": "UpBlocks.Chain_5.ResidualBlock.Chain.Conv2d", + "up_blocks.1.resnets.2.conv2": "UpBlocks.Chain_6.ResidualBlock.Chain.Conv2d", + "up_blocks.1.upsamplers.0.conv": "UpBlocks.Chain_6.Upsample.Conv2d", + "down_blocks.1.resnets.0.conv_shortcut": "DownBlocks.Chain_5.ResidualBlock.Conv2d", + "down_blocks.1.attentions.0.proj_in": "DownBlocks.Chain_5.SDXLCrossAttention.Chain_1.Linear", + "down_blocks.1.attentions.0.transformer_blocks.0.attn1.to_out.0": "DownBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Linear", + "down_blocks.1.attentions.0.transformer_blocks.0.attn2.to_out.0": "DownBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Linear", + "down_blocks.1.attentions.0.transformer_blocks.1.attn1.to_out.0": "DownBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Linear", + "down_blocks.1.attentions.0.transformer_blocks.1.attn2.to_out.0": "DownBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Linear", + "down_blocks.1.attentions.0.proj_out": "DownBlocks.Chain_5.SDXLCrossAttention.Chain_3.Linear", + "down_blocks.1.attentions.1.proj_in": "DownBlocks.Chain_6.SDXLCrossAttention.Chain_1.Linear", + "down_blocks.1.attentions.1.transformer_blocks.0.attn1.to_out.0": "DownBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Linear", + "down_blocks.1.attentions.1.transformer_blocks.0.attn2.to_out.0": "DownBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Linear", + "down_blocks.1.attentions.1.transformer_blocks.1.attn1.to_out.0": "DownBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Linear", + "down_blocks.1.attentions.1.transformer_blocks.1.attn2.to_out.0": "DownBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Linear", + "down_blocks.1.attentions.1.proj_out": "DownBlocks.Chain_6.SDXLCrossAttention.Chain_3.Linear", + "up_blocks.1.attentions.0.proj_in": "UpBlocks.Chain_4.SDXLCrossAttention.Chain_1.Linear", + "up_blocks.1.attentions.0.transformer_blocks.0.attn1.to_out.0": "UpBlocks.Chain_4.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Linear", + "up_blocks.1.attentions.0.transformer_blocks.0.attn2.to_out.0": "UpBlocks.Chain_4.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Linear", + "up_blocks.1.attentions.0.transformer_blocks.1.attn1.to_out.0": "UpBlocks.Chain_4.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Linear", + "up_blocks.1.attentions.0.transformer_blocks.1.attn2.to_out.0": "UpBlocks.Chain_4.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Linear", + "up_blocks.1.attentions.0.proj_out": "UpBlocks.Chain_4.SDXLCrossAttention.Chain_3.Linear", + "up_blocks.1.attentions.1.proj_in": "UpBlocks.Chain_5.SDXLCrossAttention.Chain_1.Linear", + "up_blocks.1.attentions.1.transformer_blocks.0.attn1.to_out.0": "UpBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Linear", + "up_blocks.1.attentions.1.transformer_blocks.0.attn2.to_out.0": "UpBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Linear", + "up_blocks.1.attentions.1.transformer_blocks.1.attn1.to_out.0": "UpBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Linear", + "up_blocks.1.attentions.1.transformer_blocks.1.attn2.to_out.0": "UpBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Linear", + "up_blocks.1.attentions.1.proj_out": "UpBlocks.Chain_5.SDXLCrossAttention.Chain_3.Linear", + "up_blocks.1.attentions.2.proj_in": "UpBlocks.Chain_6.SDXLCrossAttention.Chain_1.Linear", + "up_blocks.1.attentions.2.transformer_blocks.0.attn1.to_out.0": "UpBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Linear", + "up_blocks.1.attentions.2.transformer_blocks.0.attn2.to_out.0": "UpBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Linear", + "up_blocks.1.attentions.2.transformer_blocks.1.attn1.to_out.0": "UpBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Linear", + "up_blocks.1.attentions.2.transformer_blocks.1.attn2.to_out.0": "UpBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Linear", + "up_blocks.1.attentions.2.proj_out": "UpBlocks.Chain_6.SDXLCrossAttention.Chain_3.Linear", + "down_blocks.1.attentions.0.transformer_blocks.0.norm1": "DownBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.LayerNorm", + "down_blocks.1.attentions.0.transformer_blocks.0.norm2": "DownBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.LayerNorm", + "down_blocks.1.attentions.0.transformer_blocks.0.norm3": "DownBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.LayerNorm", + "down_blocks.1.attentions.0.transformer_blocks.1.norm1": "DownBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.LayerNorm", + "down_blocks.1.attentions.0.transformer_blocks.1.norm2": "DownBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.LayerNorm", + "down_blocks.1.attentions.0.transformer_blocks.1.norm3": "DownBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.LayerNorm", + "down_blocks.1.attentions.1.transformer_blocks.0.norm1": "DownBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.LayerNorm", + "down_blocks.1.attentions.1.transformer_blocks.0.norm2": "DownBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.LayerNorm", + "down_blocks.1.attentions.1.transformer_blocks.0.norm3": "DownBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.LayerNorm", + "down_blocks.1.attentions.1.transformer_blocks.1.norm1": "DownBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.LayerNorm", + "down_blocks.1.attentions.1.transformer_blocks.1.norm2": "DownBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.LayerNorm", + "down_blocks.1.attentions.1.transformer_blocks.1.norm3": "DownBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.LayerNorm", + "up_blocks.1.attentions.0.transformer_blocks.0.norm1": "UpBlocks.Chain_4.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.LayerNorm", + "up_blocks.1.attentions.0.transformer_blocks.0.norm2": "UpBlocks.Chain_4.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.LayerNorm", + "up_blocks.1.attentions.0.transformer_blocks.0.norm3": "UpBlocks.Chain_4.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.LayerNorm", + "up_blocks.1.attentions.0.transformer_blocks.1.norm1": "UpBlocks.Chain_4.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.LayerNorm", + "up_blocks.1.attentions.0.transformer_blocks.1.norm2": "UpBlocks.Chain_4.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.LayerNorm", + "up_blocks.1.attentions.0.transformer_blocks.1.norm3": "UpBlocks.Chain_4.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.LayerNorm", + "up_blocks.1.attentions.1.transformer_blocks.0.norm1": "UpBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.LayerNorm", + "up_blocks.1.attentions.1.transformer_blocks.0.norm2": "UpBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.LayerNorm", + "up_blocks.1.attentions.1.transformer_blocks.0.norm3": "UpBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.LayerNorm", + "up_blocks.1.attentions.1.transformer_blocks.1.norm1": "UpBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.LayerNorm", + "up_blocks.1.attentions.1.transformer_blocks.1.norm2": "UpBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.LayerNorm", + "up_blocks.1.attentions.1.transformer_blocks.1.norm3": "UpBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.LayerNorm", + "up_blocks.1.attentions.2.transformer_blocks.0.norm1": "UpBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.LayerNorm", + "up_blocks.1.attentions.2.transformer_blocks.0.norm2": "UpBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.LayerNorm", + "up_blocks.1.attentions.2.transformer_blocks.0.norm3": "UpBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.LayerNorm", + "up_blocks.1.attentions.2.transformer_blocks.1.norm1": "UpBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.LayerNorm", + "up_blocks.1.attentions.2.transformer_blocks.1.norm2": "UpBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.LayerNorm", + "up_blocks.1.attentions.2.transformer_blocks.1.norm3": "UpBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.LayerNorm", + "down_blocks.1.attentions.0.transformer_blocks.0.attn1.to_q": "DownBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.1.attentions.0.transformer_blocks.0.attn1.to_k": "DownBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.1.attentions.0.transformer_blocks.0.attn1.to_v": "DownBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.1.attentions.0.transformer_blocks.0.attn2.to_q": "DownBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.1.attentions.0.transformer_blocks.1.attn1.to_q": "DownBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.1.attentions.0.transformer_blocks.1.attn1.to_k": "DownBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.1.attentions.0.transformer_blocks.1.attn1.to_v": "DownBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.1.attentions.0.transformer_blocks.1.attn2.to_q": "DownBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.1.attentions.1.transformer_blocks.0.attn1.to_q": "DownBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.1.attentions.1.transformer_blocks.0.attn1.to_k": "DownBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.1.attentions.1.transformer_blocks.0.attn1.to_v": "DownBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.1.attentions.1.transformer_blocks.0.attn2.to_q": "DownBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.1.attentions.1.transformer_blocks.1.attn1.to_q": "DownBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.1.attentions.1.transformer_blocks.1.attn1.to_k": "DownBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.1.attentions.1.transformer_blocks.1.attn1.to_v": "DownBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.1.attentions.1.transformer_blocks.1.attn2.to_q": "DownBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.1.attentions.0.transformer_blocks.0.attn1.to_q": "UpBlocks.Chain_4.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.1.attentions.0.transformer_blocks.0.attn1.to_k": "UpBlocks.Chain_4.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.1.attentions.0.transformer_blocks.0.attn1.to_v": "UpBlocks.Chain_4.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.1.attentions.0.transformer_blocks.0.attn2.to_q": "UpBlocks.Chain_4.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.1.attentions.0.transformer_blocks.1.attn1.to_q": "UpBlocks.Chain_4.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.1.attentions.0.transformer_blocks.1.attn1.to_k": "UpBlocks.Chain_4.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.1.attentions.0.transformer_blocks.1.attn1.to_v": "UpBlocks.Chain_4.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.1.attentions.0.transformer_blocks.1.attn2.to_q": "UpBlocks.Chain_4.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.1.attentions.1.transformer_blocks.0.attn1.to_q": "UpBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.1.attentions.1.transformer_blocks.0.attn1.to_k": "UpBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.1.attentions.1.transformer_blocks.0.attn1.to_v": "UpBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.1.attentions.1.transformer_blocks.0.attn2.to_q": "UpBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.1.attentions.1.transformer_blocks.1.attn1.to_q": "UpBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.1.attentions.1.transformer_blocks.1.attn1.to_k": "UpBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.1.attentions.1.transformer_blocks.1.attn1.to_v": "UpBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.1.attentions.1.transformer_blocks.1.attn2.to_q": "UpBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.1.attentions.2.transformer_blocks.0.attn1.to_q": "UpBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.1.attentions.2.transformer_blocks.0.attn1.to_k": "UpBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.1.attentions.2.transformer_blocks.0.attn1.to_v": "UpBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.1.attentions.2.transformer_blocks.0.attn2.to_q": "UpBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.1.attentions.2.transformer_blocks.1.attn1.to_q": "UpBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.1.attentions.2.transformer_blocks.1.attn1.to_k": "UpBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.1.attentions.2.transformer_blocks.1.attn1.to_v": "UpBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.1.attentions.2.transformer_blocks.1.attn2.to_q": "UpBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.1.attentions.0.transformer_blocks.0.attn2.to_k": "DownBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.1.attentions.0.transformer_blocks.0.attn2.to_v": "DownBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.1.attentions.0.transformer_blocks.1.attn2.to_k": "DownBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.1.attentions.0.transformer_blocks.1.attn2.to_v": "DownBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.1.attentions.1.transformer_blocks.0.attn2.to_k": "DownBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.1.attentions.1.transformer_blocks.0.attn2.to_v": "DownBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.1.attentions.1.transformer_blocks.1.attn2.to_k": "DownBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.1.attentions.1.transformer_blocks.1.attn2.to_v": "DownBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.1.attentions.0.transformer_blocks.0.attn2.to_k": "UpBlocks.Chain_4.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.1.attentions.0.transformer_blocks.0.attn2.to_v": "UpBlocks.Chain_4.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.1.attentions.0.transformer_blocks.1.attn2.to_k": "UpBlocks.Chain_4.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.1.attentions.0.transformer_blocks.1.attn2.to_v": "UpBlocks.Chain_4.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.1.attentions.1.transformer_blocks.0.attn2.to_k": "UpBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.1.attentions.1.transformer_blocks.0.attn2.to_v": "UpBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.1.attentions.1.transformer_blocks.1.attn2.to_k": "UpBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.1.attentions.1.transformer_blocks.1.attn2.to_v": "UpBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.1.attentions.2.transformer_blocks.0.attn2.to_k": "UpBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.1.attentions.2.transformer_blocks.0.attn2.to_v": "UpBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.1.attentions.2.transformer_blocks.1.attn2.to_k": "UpBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.1.attentions.2.transformer_blocks.1.attn2.to_v": "UpBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.1.attentions.0.transformer_blocks.0.ff.net.0.proj": "DownBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.Linear_1", + "down_blocks.1.attentions.0.transformer_blocks.1.ff.net.0.proj": "DownBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.Linear_1", + "down_blocks.1.attentions.1.transformer_blocks.0.ff.net.0.proj": "DownBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.Linear_1", + "down_blocks.1.attentions.1.transformer_blocks.1.ff.net.0.proj": "DownBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.Linear_1", + "up_blocks.1.attentions.0.transformer_blocks.0.ff.net.0.proj": "UpBlocks.Chain_4.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.Linear_1", + "up_blocks.1.attentions.0.transformer_blocks.1.ff.net.0.proj": "UpBlocks.Chain_4.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.Linear_1", + "up_blocks.1.attentions.1.transformer_blocks.0.ff.net.0.proj": "UpBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.Linear_1", + "up_blocks.1.attentions.1.transformer_blocks.1.ff.net.0.proj": "UpBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.Linear_1", + "up_blocks.1.attentions.2.transformer_blocks.0.ff.net.0.proj": "UpBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.Linear_1", + "up_blocks.1.attentions.2.transformer_blocks.1.ff.net.0.proj": "UpBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.Linear_1", + "down_blocks.1.attentions.0.transformer_blocks.0.ff.net.2": "DownBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.Linear_2", + "down_blocks.1.attentions.0.transformer_blocks.1.ff.net.2": "DownBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.Linear_2", + "down_blocks.1.attentions.1.transformer_blocks.0.ff.net.2": "DownBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.Linear_2", + "down_blocks.1.attentions.1.transformer_blocks.1.ff.net.2": "DownBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.Linear_2", + "up_blocks.1.attentions.0.transformer_blocks.0.ff.net.2": "UpBlocks.Chain_4.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.Linear_2", + "up_blocks.1.attentions.0.transformer_blocks.1.ff.net.2": "UpBlocks.Chain_4.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.Linear_2", + "up_blocks.1.attentions.1.transformer_blocks.0.ff.net.2": "UpBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.Linear_2", + "up_blocks.1.attentions.1.transformer_blocks.1.ff.net.2": "UpBlocks.Chain_5.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.Linear_2", + "up_blocks.1.attentions.2.transformer_blocks.0.ff.net.2": "UpBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.Linear_2", + "up_blocks.1.attentions.2.transformer_blocks.1.ff.net.2": "UpBlocks.Chain_6.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.Linear_2", + "down_blocks.2.resnets.0.conv1": "DownBlocks.Chain_8.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "down_blocks.2.resnets.0.norm2": "DownBlocks.Chain_8.ResidualBlock.Chain.GroupNorm_2", + "down_blocks.2.attentions.0.norm": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_1.GroupNorm", + "down_blocks.2.resnets.1.norm1": "DownBlocks.Chain_9.ResidualBlock.Chain.GroupNorm_1", + "down_blocks.2.resnets.1.norm2": "DownBlocks.Chain_9.ResidualBlock.Chain.GroupNorm_2", + "down_blocks.2.attentions.1.norm": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_1.GroupNorm", + "mid_block.resnets.0.norm1": "MiddleBlock.ResidualBlock_1.Chain.GroupNorm_1", + "mid_block.resnets.0.norm2": "MiddleBlock.ResidualBlock_1.Chain.GroupNorm_2", + "mid_block.attentions.0.norm": "MiddleBlock.SDXLCrossAttention.Chain_1.GroupNorm", + "mid_block.resnets.1.norm1": "MiddleBlock.ResidualBlock_2.Chain.GroupNorm_1", + "mid_block.resnets.1.norm2": "MiddleBlock.ResidualBlock_2.Chain.GroupNorm_2", + "up_blocks.0.resnets.0.norm2": "UpBlocks.Chain_1.ResidualBlock.Chain.GroupNorm_2", + "up_blocks.0.attentions.0.norm": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_1.GroupNorm", + "up_blocks.0.resnets.1.norm2": "UpBlocks.Chain_2.ResidualBlock.Chain.GroupNorm_2", + "up_blocks.0.attentions.1.norm": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_1.GroupNorm", + "up_blocks.0.resnets.2.norm2": "UpBlocks.Chain_3.ResidualBlock.Chain.GroupNorm_2", + "up_blocks.0.attentions.2.norm": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_1.GroupNorm", + "up_blocks.1.resnets.1.norm1": "UpBlocks.Chain_5.ResidualBlock.Chain.GroupNorm_1", + "down_blocks.2.resnets.0.conv2": "DownBlocks.Chain_8.ResidualBlock.Chain.Conv2d", + "down_blocks.2.resnets.1.conv1": "DownBlocks.Chain_9.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "down_blocks.2.resnets.1.conv2": "DownBlocks.Chain_9.ResidualBlock.Chain.Conv2d", + "mid_block.resnets.0.conv1": "MiddleBlock.ResidualBlock_1.Chain.RangeAdapter2d.Conv2d", + "mid_block.resnets.0.conv2": "MiddleBlock.ResidualBlock_1.Chain.Conv2d", + "mid_block.resnets.1.conv1": "MiddleBlock.ResidualBlock_2.Chain.RangeAdapter2d.Conv2d", + "mid_block.resnets.1.conv2": "MiddleBlock.ResidualBlock_2.Chain.Conv2d", + "up_blocks.0.resnets.0.conv2": "UpBlocks.Chain_1.ResidualBlock.Chain.Conv2d", + "up_blocks.0.resnets.1.conv2": "UpBlocks.Chain_2.ResidualBlock.Chain.Conv2d", + "up_blocks.0.resnets.2.conv2": "UpBlocks.Chain_3.ResidualBlock.Chain.Conv2d", + "up_blocks.0.upsamplers.0.conv": "UpBlocks.Chain_3.Upsample.Conv2d", + "down_blocks.2.resnets.0.conv_shortcut": "DownBlocks.Chain_8.ResidualBlock.Conv2d", + "down_blocks.2.attentions.0.transformer_blocks.0.norm1": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.0.norm2": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.0.norm3": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.1.norm1": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.1.norm2": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.1.norm3": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.2.norm1": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.2.norm2": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.2.norm3": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_3.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.3.norm1": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.3.norm2": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.3.norm3": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_3.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.4.norm1": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.4.norm2": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.4.norm3": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_3.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.5.norm1": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.5.norm2": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.5.norm3": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_3.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.6.norm1": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.6.norm2": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.6.norm3": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_3.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.7.norm1": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.7.norm2": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.7.norm3": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_3.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.8.norm1": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.8.norm2": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.8.norm3": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_3.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.9.norm1": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.9.norm2": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.9.norm3": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_3.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.0.norm1": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.0.norm2": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.0.norm3": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.1.norm1": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.1.norm2": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.1.norm3": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.2.norm1": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.2.norm2": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.2.norm3": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_3.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.3.norm1": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.3.norm2": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.3.norm3": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_3.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.4.norm1": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.4.norm2": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.4.norm3": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_3.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.5.norm1": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.5.norm2": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.5.norm3": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_3.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.6.norm1": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.6.norm2": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.6.norm3": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_3.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.7.norm1": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.7.norm2": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.7.norm3": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_3.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.8.norm1": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.8.norm2": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.8.norm3": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_3.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.9.norm1": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.9.norm2": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.LayerNorm", + "down_blocks.2.attentions.1.transformer_blocks.9.norm3": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_3.LayerNorm", + "mid_block.attentions.0.transformer_blocks.0.norm1": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.LayerNorm", + "mid_block.attentions.0.transformer_blocks.0.norm2": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.LayerNorm", + "mid_block.attentions.0.transformer_blocks.0.norm3": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.LayerNorm", + "mid_block.attentions.0.transformer_blocks.1.norm1": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.LayerNorm", + "mid_block.attentions.0.transformer_blocks.1.norm2": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.LayerNorm", + "mid_block.attentions.0.transformer_blocks.1.norm3": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.LayerNorm", + "mid_block.attentions.0.transformer_blocks.2.norm1": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.LayerNorm", + "mid_block.attentions.0.transformer_blocks.2.norm2": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.LayerNorm", + "mid_block.attentions.0.transformer_blocks.2.norm3": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_3.LayerNorm", + "mid_block.attentions.0.transformer_blocks.3.norm1": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.LayerNorm", + "mid_block.attentions.0.transformer_blocks.3.norm2": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.LayerNorm", + "mid_block.attentions.0.transformer_blocks.3.norm3": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_3.LayerNorm", + "mid_block.attentions.0.transformer_blocks.4.norm1": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.LayerNorm", + "mid_block.attentions.0.transformer_blocks.4.norm2": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.LayerNorm", + "mid_block.attentions.0.transformer_blocks.4.norm3": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_3.LayerNorm", + "mid_block.attentions.0.transformer_blocks.5.norm1": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.LayerNorm", + "mid_block.attentions.0.transformer_blocks.5.norm2": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.LayerNorm", + "mid_block.attentions.0.transformer_blocks.5.norm3": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_3.LayerNorm", + "mid_block.attentions.0.transformer_blocks.6.norm1": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.LayerNorm", + "mid_block.attentions.0.transformer_blocks.6.norm2": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.LayerNorm", + "mid_block.attentions.0.transformer_blocks.6.norm3": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_3.LayerNorm", + "mid_block.attentions.0.transformer_blocks.7.norm1": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.LayerNorm", + "mid_block.attentions.0.transformer_blocks.7.norm2": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.LayerNorm", + "mid_block.attentions.0.transformer_blocks.7.norm3": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_3.LayerNorm", + "mid_block.attentions.0.transformer_blocks.8.norm1": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.LayerNorm", + "mid_block.attentions.0.transformer_blocks.8.norm2": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.LayerNorm", + "mid_block.attentions.0.transformer_blocks.8.norm3": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_3.LayerNorm", + "mid_block.attentions.0.transformer_blocks.9.norm1": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.LayerNorm", + "mid_block.attentions.0.transformer_blocks.9.norm2": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.LayerNorm", + "mid_block.attentions.0.transformer_blocks.9.norm3": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_3.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.0.norm1": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.0.norm2": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.0.norm3": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.1.norm1": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.1.norm2": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.1.norm3": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.2.norm1": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.2.norm2": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.2.norm3": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_3.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.3.norm1": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.3.norm2": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.3.norm3": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_3.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.4.norm1": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.4.norm2": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.4.norm3": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_3.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.5.norm1": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.5.norm2": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.5.norm3": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_3.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.6.norm1": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.6.norm2": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.6.norm3": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_3.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.7.norm1": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.7.norm2": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.7.norm3": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_3.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.8.norm1": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.8.norm2": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.8.norm3": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_3.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.9.norm1": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.9.norm2": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.LayerNorm", + "up_blocks.0.attentions.0.transformer_blocks.9.norm3": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_3.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.0.norm1": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.0.norm2": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.0.norm3": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.1.norm1": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.1.norm2": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.1.norm3": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.2.norm1": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.2.norm2": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.2.norm3": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_3.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.3.norm1": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.3.norm2": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.3.norm3": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_3.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.4.norm1": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.4.norm2": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.4.norm3": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_3.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.5.norm1": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.5.norm2": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.5.norm3": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_3.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.6.norm1": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.6.norm2": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.6.norm3": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_3.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.7.norm1": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.7.norm2": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.7.norm3": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_3.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.8.norm1": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.8.norm2": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.8.norm3": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_3.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.9.norm1": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.9.norm2": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.LayerNorm", + "up_blocks.0.attentions.1.transformer_blocks.9.norm3": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_3.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.0.norm1": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.0.norm2": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.0.norm3": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.1.norm1": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.1.norm2": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.1.norm3": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.2.norm1": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.2.norm2": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.2.norm3": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_3.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.3.norm1": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.3.norm2": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.3.norm3": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_3.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.4.norm1": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.4.norm2": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.4.norm3": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_3.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.5.norm1": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.5.norm2": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.5.norm3": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_3.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.6.norm1": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.6.norm2": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.6.norm3": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_3.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.7.norm1": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.7.norm2": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.7.norm3": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_3.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.8.norm1": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.8.norm2": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.8.norm3": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_3.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.9.norm1": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.9.norm2": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.LayerNorm", + "up_blocks.0.attentions.2.transformer_blocks.9.norm3": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_3.LayerNorm", + "down_blocks.2.attentions.0.transformer_blocks.0.attn1.to_q": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.0.attn1.to_k": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.0.attn1.to_v": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.2.attentions.0.transformer_blocks.0.attn2.to_q": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.1.attn1.to_q": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.1.attn1.to_k": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.1.attn1.to_v": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.2.attentions.0.transformer_blocks.1.attn2.to_q": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.2.attn1.to_q": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.2.attn1.to_k": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.2.attn1.to_v": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.2.attentions.0.transformer_blocks.2.attn2.to_q": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.3.attn1.to_q": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.3.attn1.to_k": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.3.attn1.to_v": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.2.attentions.0.transformer_blocks.3.attn2.to_q": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.4.attn1.to_q": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.4.attn1.to_k": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.4.attn1.to_v": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.2.attentions.0.transformer_blocks.4.attn2.to_q": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.5.attn1.to_q": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.5.attn1.to_k": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.5.attn1.to_v": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.2.attentions.0.transformer_blocks.5.attn2.to_q": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.6.attn1.to_q": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.6.attn1.to_k": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.6.attn1.to_v": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.2.attentions.0.transformer_blocks.6.attn2.to_q": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.7.attn1.to_q": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.7.attn1.to_k": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.7.attn1.to_v": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.2.attentions.0.transformer_blocks.7.attn2.to_q": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.8.attn1.to_q": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.8.attn1.to_k": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.8.attn1.to_v": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.2.attentions.0.transformer_blocks.8.attn2.to_q": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.9.attn1.to_q": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.9.attn1.to_k": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.9.attn1.to_v": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.2.attentions.0.transformer_blocks.9.attn2.to_q": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.0.attn1.to_q": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.0.attn1.to_k": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.0.attn1.to_v": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.2.attentions.1.transformer_blocks.0.attn2.to_q": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.1.attn1.to_q": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.1.attn1.to_k": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.1.attn1.to_v": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.2.attentions.1.transformer_blocks.1.attn2.to_q": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.2.attn1.to_q": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.2.attn1.to_k": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.2.attn1.to_v": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.2.attentions.1.transformer_blocks.2.attn2.to_q": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.3.attn1.to_q": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.3.attn1.to_k": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.3.attn1.to_v": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.2.attentions.1.transformer_blocks.3.attn2.to_q": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.4.attn1.to_q": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.4.attn1.to_k": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.4.attn1.to_v": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.2.attentions.1.transformer_blocks.4.attn2.to_q": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.5.attn1.to_q": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.5.attn1.to_k": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.5.attn1.to_v": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.2.attentions.1.transformer_blocks.5.attn2.to_q": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.6.attn1.to_q": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.6.attn1.to_k": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.6.attn1.to_v": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.2.attentions.1.transformer_blocks.6.attn2.to_q": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.7.attn1.to_q": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.7.attn1.to_k": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.7.attn1.to_v": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.2.attentions.1.transformer_blocks.7.attn2.to_q": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.8.attn1.to_q": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.8.attn1.to_k": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.8.attn1.to_v": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.2.attentions.1.transformer_blocks.8.attn2.to_q": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.9.attn1.to_q": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.SelfAttention.Distribute.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.9.attn1.to_k": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.SelfAttention.Distribute.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.9.attn1.to_v": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.SelfAttention.Distribute.Linear_3", + "down_blocks.2.attentions.1.transformer_blocks.9.attn2.to_q": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.Attention.Distribute.Linear_1", + "mid_block.attentions.0.transformer_blocks.0.attn1.to_q": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_1", + "mid_block.attentions.0.transformer_blocks.0.attn1.to_k": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_2", + "mid_block.attentions.0.transformer_blocks.0.attn1.to_v": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_3", + "mid_block.attentions.0.transformer_blocks.0.attn2.to_q": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_1", + "mid_block.attentions.0.transformer_blocks.1.attn1.to_q": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_1", + "mid_block.attentions.0.transformer_blocks.1.attn1.to_k": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_2", + "mid_block.attentions.0.transformer_blocks.1.attn1.to_v": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_3", + "mid_block.attentions.0.transformer_blocks.1.attn2.to_q": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_1", + "mid_block.attentions.0.transformer_blocks.2.attn1.to_q": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.SelfAttention.Distribute.Linear_1", + "mid_block.attentions.0.transformer_blocks.2.attn1.to_k": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.SelfAttention.Distribute.Linear_2", + "mid_block.attentions.0.transformer_blocks.2.attn1.to_v": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.SelfAttention.Distribute.Linear_3", + "mid_block.attentions.0.transformer_blocks.2.attn2.to_q": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.Attention.Distribute.Linear_1", + "mid_block.attentions.0.transformer_blocks.3.attn1.to_q": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.SelfAttention.Distribute.Linear_1", + "mid_block.attentions.0.transformer_blocks.3.attn1.to_k": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.SelfAttention.Distribute.Linear_2", + "mid_block.attentions.0.transformer_blocks.3.attn1.to_v": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.SelfAttention.Distribute.Linear_3", + "mid_block.attentions.0.transformer_blocks.3.attn2.to_q": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.Attention.Distribute.Linear_1", + "mid_block.attentions.0.transformer_blocks.4.attn1.to_q": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.SelfAttention.Distribute.Linear_1", + "mid_block.attentions.0.transformer_blocks.4.attn1.to_k": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.SelfAttention.Distribute.Linear_2", + "mid_block.attentions.0.transformer_blocks.4.attn1.to_v": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.SelfAttention.Distribute.Linear_3", + "mid_block.attentions.0.transformer_blocks.4.attn2.to_q": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.Attention.Distribute.Linear_1", + "mid_block.attentions.0.transformer_blocks.5.attn1.to_q": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.SelfAttention.Distribute.Linear_1", + "mid_block.attentions.0.transformer_blocks.5.attn1.to_k": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.SelfAttention.Distribute.Linear_2", + "mid_block.attentions.0.transformer_blocks.5.attn1.to_v": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.SelfAttention.Distribute.Linear_3", + "mid_block.attentions.0.transformer_blocks.5.attn2.to_q": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.Attention.Distribute.Linear_1", + "mid_block.attentions.0.transformer_blocks.6.attn1.to_q": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.SelfAttention.Distribute.Linear_1", + "mid_block.attentions.0.transformer_blocks.6.attn1.to_k": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.SelfAttention.Distribute.Linear_2", + "mid_block.attentions.0.transformer_blocks.6.attn1.to_v": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.SelfAttention.Distribute.Linear_3", + "mid_block.attentions.0.transformer_blocks.6.attn2.to_q": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.Attention.Distribute.Linear_1", + "mid_block.attentions.0.transformer_blocks.7.attn1.to_q": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.SelfAttention.Distribute.Linear_1", + "mid_block.attentions.0.transformer_blocks.7.attn1.to_k": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.SelfAttention.Distribute.Linear_2", + "mid_block.attentions.0.transformer_blocks.7.attn1.to_v": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.SelfAttention.Distribute.Linear_3", + "mid_block.attentions.0.transformer_blocks.7.attn2.to_q": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.Attention.Distribute.Linear_1", + "mid_block.attentions.0.transformer_blocks.8.attn1.to_q": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.SelfAttention.Distribute.Linear_1", + "mid_block.attentions.0.transformer_blocks.8.attn1.to_k": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.SelfAttention.Distribute.Linear_2", + "mid_block.attentions.0.transformer_blocks.8.attn1.to_v": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.SelfAttention.Distribute.Linear_3", + "mid_block.attentions.0.transformer_blocks.8.attn2.to_q": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.Attention.Distribute.Linear_1", + "mid_block.attentions.0.transformer_blocks.9.attn1.to_q": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.SelfAttention.Distribute.Linear_1", + "mid_block.attentions.0.transformer_blocks.9.attn1.to_k": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.SelfAttention.Distribute.Linear_2", + "mid_block.attentions.0.transformer_blocks.9.attn1.to_v": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.SelfAttention.Distribute.Linear_3", + "mid_block.attentions.0.transformer_blocks.9.attn2.to_q": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.0.attn1.to_q": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.0.attn1.to_k": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.0.attn1.to_v": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.0.transformer_blocks.0.attn2.to_q": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.1.attn1.to_q": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.1.attn1.to_k": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.1.attn1.to_v": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.0.transformer_blocks.1.attn2.to_q": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.2.attn1.to_q": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.2.attn1.to_k": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.2.attn1.to_v": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.0.transformer_blocks.2.attn2.to_q": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.3.attn1.to_q": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.3.attn1.to_k": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.3.attn1.to_v": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.0.transformer_blocks.3.attn2.to_q": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.4.attn1.to_q": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.4.attn1.to_k": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.4.attn1.to_v": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.0.transformer_blocks.4.attn2.to_q": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.5.attn1.to_q": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.5.attn1.to_k": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.5.attn1.to_v": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.0.transformer_blocks.5.attn2.to_q": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.6.attn1.to_q": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.6.attn1.to_k": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.6.attn1.to_v": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.0.transformer_blocks.6.attn2.to_q": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.7.attn1.to_q": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.7.attn1.to_k": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.7.attn1.to_v": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.0.transformer_blocks.7.attn2.to_q": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.8.attn1.to_q": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.8.attn1.to_k": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.8.attn1.to_v": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.0.transformer_blocks.8.attn2.to_q": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.9.attn1.to_q": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.9.attn1.to_k": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.9.attn1.to_v": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.0.transformer_blocks.9.attn2.to_q": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.0.attn1.to_q": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.0.attn1.to_k": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.0.attn1.to_v": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.1.transformer_blocks.0.attn2.to_q": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.1.attn1.to_q": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.1.attn1.to_k": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.1.attn1.to_v": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.1.transformer_blocks.1.attn2.to_q": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.2.attn1.to_q": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.2.attn1.to_k": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.2.attn1.to_v": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.1.transformer_blocks.2.attn2.to_q": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.3.attn1.to_q": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.3.attn1.to_k": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.3.attn1.to_v": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.1.transformer_blocks.3.attn2.to_q": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.4.attn1.to_q": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.4.attn1.to_k": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.4.attn1.to_v": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.1.transformer_blocks.4.attn2.to_q": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.5.attn1.to_q": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.5.attn1.to_k": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.5.attn1.to_v": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.1.transformer_blocks.5.attn2.to_q": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.6.attn1.to_q": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.6.attn1.to_k": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.6.attn1.to_v": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.1.transformer_blocks.6.attn2.to_q": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.7.attn1.to_q": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.7.attn1.to_k": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.7.attn1.to_v": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.1.transformer_blocks.7.attn2.to_q": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.8.attn1.to_q": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.8.attn1.to_k": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.8.attn1.to_v": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.1.transformer_blocks.8.attn2.to_q": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.9.attn1.to_q": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.9.attn1.to_k": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.9.attn1.to_v": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.1.transformer_blocks.9.attn2.to_q": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.0.attn1.to_q": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.0.attn1.to_k": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.0.attn1.to_v": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.2.transformer_blocks.0.attn2.to_q": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.1.attn1.to_q": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.1.attn1.to_k": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.1.attn1.to_v": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.2.transformer_blocks.1.attn2.to_q": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.2.attn1.to_q": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.2.attn1.to_k": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.2.attn1.to_v": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.2.transformer_blocks.2.attn2.to_q": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.3.attn1.to_q": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.3.attn1.to_k": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.3.attn1.to_v": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.2.transformer_blocks.3.attn2.to_q": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.4.attn1.to_q": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.4.attn1.to_k": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.4.attn1.to_v": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.2.transformer_blocks.4.attn2.to_q": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.5.attn1.to_q": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.5.attn1.to_k": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.5.attn1.to_v": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.2.transformer_blocks.5.attn2.to_q": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.6.attn1.to_q": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.6.attn1.to_k": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.6.attn1.to_v": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.2.transformer_blocks.6.attn2.to_q": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.7.attn1.to_q": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.7.attn1.to_k": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.7.attn1.to_v": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.2.transformer_blocks.7.attn2.to_q": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.8.attn1.to_q": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.8.attn1.to_k": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.8.attn1.to_v": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.2.transformer_blocks.8.attn2.to_q": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.Attention.Distribute.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.9.attn1.to_q": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.SelfAttention.Distribute.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.9.attn1.to_k": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.SelfAttention.Distribute.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.9.attn1.to_v": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_1.SelfAttention.Distribute.Linear_3", + "up_blocks.0.attentions.2.transformer_blocks.9.attn2.to_q": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.Attention.Distribute.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.0.attn2.to_k": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.0.attn2.to_v": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.2.attentions.0.transformer_blocks.1.attn2.to_k": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.1.attn2.to_v": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.2.attentions.0.transformer_blocks.2.attn2.to_k": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.2.attn2.to_v": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.2.attentions.0.transformer_blocks.3.attn2.to_k": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.3.attn2.to_v": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.2.attentions.0.transformer_blocks.4.attn2.to_k": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.4.attn2.to_v": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.2.attentions.0.transformer_blocks.5.attn2.to_k": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.5.attn2.to_v": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.2.attentions.0.transformer_blocks.6.attn2.to_k": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.6.attn2.to_v": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.2.attentions.0.transformer_blocks.7.attn2.to_k": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.7.attn2.to_v": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.2.attentions.0.transformer_blocks.8.attn2.to_k": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.8.attn2.to_v": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.2.attentions.0.transformer_blocks.9.attn2.to_k": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.9.attn2.to_v": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.2.attentions.1.transformer_blocks.0.attn2.to_k": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.0.attn2.to_v": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.2.attentions.1.transformer_blocks.1.attn2.to_k": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.1.attn2.to_v": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.2.attentions.1.transformer_blocks.2.attn2.to_k": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.2.attn2.to_v": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.2.attentions.1.transformer_blocks.3.attn2.to_k": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.3.attn2.to_v": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.2.attentions.1.transformer_blocks.4.attn2.to_k": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.4.attn2.to_v": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.2.attentions.1.transformer_blocks.5.attn2.to_k": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.5.attn2.to_v": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.2.attentions.1.transformer_blocks.6.attn2.to_k": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.6.attn2.to_v": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.2.attentions.1.transformer_blocks.7.attn2.to_k": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.7.attn2.to_v": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.2.attentions.1.transformer_blocks.8.attn2.to_k": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.8.attn2.to_v": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.2.attentions.1.transformer_blocks.9.attn2.to_k": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.Attention.Distribute.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.9.attn2.to_v": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.Attention.Distribute.Linear_3", + "mid_block.attentions.0.transformer_blocks.0.attn2.to_k": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_2", + "mid_block.attentions.0.transformer_blocks.0.attn2.to_v": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_3", + "mid_block.attentions.0.transformer_blocks.1.attn2.to_k": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_2", + "mid_block.attentions.0.transformer_blocks.1.attn2.to_v": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_3", + "mid_block.attentions.0.transformer_blocks.2.attn2.to_k": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.Attention.Distribute.Linear_2", + "mid_block.attentions.0.transformer_blocks.2.attn2.to_v": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.Attention.Distribute.Linear_3", + "mid_block.attentions.0.transformer_blocks.3.attn2.to_k": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.Attention.Distribute.Linear_2", + "mid_block.attentions.0.transformer_blocks.3.attn2.to_v": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.Attention.Distribute.Linear_3", + "mid_block.attentions.0.transformer_blocks.4.attn2.to_k": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.Attention.Distribute.Linear_2", + "mid_block.attentions.0.transformer_blocks.4.attn2.to_v": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.Attention.Distribute.Linear_3", + "mid_block.attentions.0.transformer_blocks.5.attn2.to_k": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.Attention.Distribute.Linear_2", + "mid_block.attentions.0.transformer_blocks.5.attn2.to_v": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.Attention.Distribute.Linear_3", + "mid_block.attentions.0.transformer_blocks.6.attn2.to_k": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.Attention.Distribute.Linear_2", + "mid_block.attentions.0.transformer_blocks.6.attn2.to_v": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.Attention.Distribute.Linear_3", + "mid_block.attentions.0.transformer_blocks.7.attn2.to_k": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.Attention.Distribute.Linear_2", + "mid_block.attentions.0.transformer_blocks.7.attn2.to_v": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.Attention.Distribute.Linear_3", + "mid_block.attentions.0.transformer_blocks.8.attn2.to_k": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.Attention.Distribute.Linear_2", + "mid_block.attentions.0.transformer_blocks.8.attn2.to_v": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.Attention.Distribute.Linear_3", + "mid_block.attentions.0.transformer_blocks.9.attn2.to_k": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.Attention.Distribute.Linear_2", + "mid_block.attentions.0.transformer_blocks.9.attn2.to_v": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.0.transformer_blocks.0.attn2.to_k": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.0.attn2.to_v": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.0.transformer_blocks.1.attn2.to_k": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.1.attn2.to_v": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.0.transformer_blocks.2.attn2.to_k": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.2.attn2.to_v": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.0.transformer_blocks.3.attn2.to_k": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.3.attn2.to_v": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.0.transformer_blocks.4.attn2.to_k": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.4.attn2.to_v": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.0.transformer_blocks.5.attn2.to_k": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.5.attn2.to_v": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.0.transformer_blocks.6.attn2.to_k": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.6.attn2.to_v": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.0.transformer_blocks.7.attn2.to_k": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.7.attn2.to_v": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.0.transformer_blocks.8.attn2.to_k": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.8.attn2.to_v": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.0.transformer_blocks.9.attn2.to_k": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.9.attn2.to_v": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.1.transformer_blocks.0.attn2.to_k": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.0.attn2.to_v": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.1.transformer_blocks.1.attn2.to_k": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.1.attn2.to_v": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.1.transformer_blocks.2.attn2.to_k": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.2.attn2.to_v": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.1.transformer_blocks.3.attn2.to_k": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.3.attn2.to_v": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.1.transformer_blocks.4.attn2.to_k": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.4.attn2.to_v": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.1.transformer_blocks.5.attn2.to_k": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.5.attn2.to_v": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.1.transformer_blocks.6.attn2.to_k": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.6.attn2.to_v": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.1.transformer_blocks.7.attn2.to_k": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.7.attn2.to_v": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.1.transformer_blocks.8.attn2.to_k": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.8.attn2.to_v": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.1.transformer_blocks.9.attn2.to_k": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.9.attn2.to_v": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.2.transformer_blocks.0.attn2.to_k": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.0.attn2.to_v": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.2.transformer_blocks.1.attn2.to_k": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.1.attn2.to_v": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.2.transformer_blocks.2.attn2.to_k": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.2.attn2.to_v": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.2.transformer_blocks.3.attn2.to_k": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.3.attn2.to_v": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.2.transformer_blocks.4.attn2.to_k": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.4.attn2.to_v": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.2.transformer_blocks.5.attn2.to_k": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.5.attn2.to_v": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.2.transformer_blocks.6.attn2.to_k": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.6.attn2.to_v": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.2.transformer_blocks.7.attn2.to_k": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.7.attn2.to_v": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.2.transformer_blocks.8.attn2.to_k": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.8.attn2.to_v": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_2.Attention.Distribute.Linear_3", + "up_blocks.0.attentions.2.transformer_blocks.9.attn2.to_k": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.Attention.Distribute.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.9.attn2.to_v": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_2.Attention.Distribute.Linear_3", + "down_blocks.2.attentions.0.transformer_blocks.0.ff.net.0.proj": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.1.ff.net.0.proj": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.2.ff.net.0.proj": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_3.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.3.ff.net.0.proj": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_3.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.4.ff.net.0.proj": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_3.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.5.ff.net.0.proj": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_3.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.6.ff.net.0.proj": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_3.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.7.ff.net.0.proj": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_3.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.8.ff.net.0.proj": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_3.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.9.ff.net.0.proj": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_3.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.0.ff.net.0.proj": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.1.ff.net.0.proj": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.2.ff.net.0.proj": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_3.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.3.ff.net.0.proj": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_3.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.4.ff.net.0.proj": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_3.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.5.ff.net.0.proj": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_3.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.6.ff.net.0.proj": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_3.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.7.ff.net.0.proj": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_3.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.8.ff.net.0.proj": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_3.Linear_1", + "down_blocks.2.attentions.1.transformer_blocks.9.ff.net.0.proj": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_3.Linear_1", + "mid_block.attentions.0.transformer_blocks.0.ff.net.0.proj": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.Linear_1", + "mid_block.attentions.0.transformer_blocks.1.ff.net.0.proj": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.Linear_1", + "mid_block.attentions.0.transformer_blocks.2.ff.net.0.proj": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_3.Linear_1", + "mid_block.attentions.0.transformer_blocks.3.ff.net.0.proj": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_3.Linear_1", + "mid_block.attentions.0.transformer_blocks.4.ff.net.0.proj": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_3.Linear_1", + "mid_block.attentions.0.transformer_blocks.5.ff.net.0.proj": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_3.Linear_1", + "mid_block.attentions.0.transformer_blocks.6.ff.net.0.proj": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_3.Linear_1", + "mid_block.attentions.0.transformer_blocks.7.ff.net.0.proj": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_3.Linear_1", + "mid_block.attentions.0.transformer_blocks.8.ff.net.0.proj": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_3.Linear_1", + "mid_block.attentions.0.transformer_blocks.9.ff.net.0.proj": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_3.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.0.ff.net.0.proj": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.1.ff.net.0.proj": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.2.ff.net.0.proj": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_3.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.3.ff.net.0.proj": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_3.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.4.ff.net.0.proj": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_3.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.5.ff.net.0.proj": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_3.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.6.ff.net.0.proj": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_3.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.7.ff.net.0.proj": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_3.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.8.ff.net.0.proj": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_3.Linear_1", + "up_blocks.0.attentions.0.transformer_blocks.9.ff.net.0.proj": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_3.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.0.ff.net.0.proj": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.1.ff.net.0.proj": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.2.ff.net.0.proj": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_3.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.3.ff.net.0.proj": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_3.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.4.ff.net.0.proj": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_3.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.5.ff.net.0.proj": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_3.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.6.ff.net.0.proj": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_3.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.7.ff.net.0.proj": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_3.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.8.ff.net.0.proj": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_3.Linear_1", + "up_blocks.0.attentions.1.transformer_blocks.9.ff.net.0.proj": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_3.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.0.ff.net.0.proj": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.1.ff.net.0.proj": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.2.ff.net.0.proj": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_3.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.3.ff.net.0.proj": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_3.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.4.ff.net.0.proj": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_3.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.5.ff.net.0.proj": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_3.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.6.ff.net.0.proj": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_3.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.7.ff.net.0.proj": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_3.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.8.ff.net.0.proj": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_3.Linear_1", + "up_blocks.0.attentions.2.transformer_blocks.9.ff.net.0.proj": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_3.Linear_1", + "down_blocks.2.attentions.0.transformer_blocks.0.ff.net.2": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.1.ff.net.2": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.2.ff.net.2": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_3.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.3.ff.net.2": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_3.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.4.ff.net.2": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_3.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.5.ff.net.2": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_3.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.6.ff.net.2": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_3.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.7.ff.net.2": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_3.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.8.ff.net.2": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_3.Linear_2", + "down_blocks.2.attentions.0.transformer_blocks.9.ff.net.2": "DownBlocks.Chain_8.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_3.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.0.ff.net.2": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.1.ff.net.2": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.2.ff.net.2": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_3.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.3.ff.net.2": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_3.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.4.ff.net.2": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_3.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.5.ff.net.2": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_3.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.6.ff.net.2": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_3.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.7.ff.net.2": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_3.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.8.ff.net.2": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_3.Linear_2", + "down_blocks.2.attentions.1.transformer_blocks.9.ff.net.2": "DownBlocks.Chain_9.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_3.Linear_2", + "mid_block.attentions.0.transformer_blocks.0.ff.net.2": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.Linear_2", + "mid_block.attentions.0.transformer_blocks.1.ff.net.2": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.Linear_2", + "mid_block.attentions.0.transformer_blocks.2.ff.net.2": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_3.Linear_2", + "mid_block.attentions.0.transformer_blocks.3.ff.net.2": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_3.Linear_2", + "mid_block.attentions.0.transformer_blocks.4.ff.net.2": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_3.Linear_2", + "mid_block.attentions.0.transformer_blocks.5.ff.net.2": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_3.Linear_2", + "mid_block.attentions.0.transformer_blocks.6.ff.net.2": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_3.Linear_2", + "mid_block.attentions.0.transformer_blocks.7.ff.net.2": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_3.Linear_2", + "mid_block.attentions.0.transformer_blocks.8.ff.net.2": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_3.Linear_2", + "mid_block.attentions.0.transformer_blocks.9.ff.net.2": "MiddleBlock.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_3.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.0.ff.net.2": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.1.ff.net.2": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.2.ff.net.2": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_3.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.3.ff.net.2": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_3.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.4.ff.net.2": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_3.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.5.ff.net.2": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_3.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.6.ff.net.2": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_3.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.7.ff.net.2": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_3.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.8.ff.net.2": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_3.Linear_2", + "up_blocks.0.attentions.0.transformer_blocks.9.ff.net.2": "UpBlocks.Chain_1.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_3.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.0.ff.net.2": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.1.ff.net.2": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.2.ff.net.2": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_3.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.3.ff.net.2": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_3.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.4.ff.net.2": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_3.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.5.ff.net.2": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_3.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.6.ff.net.2": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_3.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.7.ff.net.2": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_3.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.8.ff.net.2": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_3.Linear_2", + "up_blocks.0.attentions.1.transformer_blocks.9.ff.net.2": "UpBlocks.Chain_2.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_3.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.0.ff.net.2": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_1.Residual_3.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.1.ff.net.2": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_2.Residual_3.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.2.ff.net.2": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_3.Residual_3.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.3.ff.net.2": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_4.Residual_3.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.4.ff.net.2": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_5.Residual_3.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.5.ff.net.2": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_6.Residual_3.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.6.ff.net.2": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_7.Residual_3.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.7.ff.net.2": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_8.Residual_3.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.8.ff.net.2": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_9.Residual_3.Linear_2", + "up_blocks.0.attentions.2.transformer_blocks.9.ff.net.2": "UpBlocks.Chain_3.SDXLCrossAttention.Chain_2.CrossAttentionBlock_10.Residual_3.Linear_2", + "up_blocks.0.resnets.0.norm1": "UpBlocks.Chain_1.ResidualBlock.Chain.GroupNorm_1", + "up_blocks.0.resnets.1.norm1": "UpBlocks.Chain_2.ResidualBlock.Chain.GroupNorm_1", + "up_blocks.0.resnets.0.conv1": "UpBlocks.Chain_1.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "up_blocks.0.resnets.1.conv1": "UpBlocks.Chain_2.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "up_blocks.0.resnets.0.conv_shortcut": "UpBlocks.Chain_1.ResidualBlock.Conv2d", + "up_blocks.0.resnets.1.conv_shortcut": "UpBlocks.Chain_2.ResidualBlock.Conv2d", + "up_blocks.0.resnets.2.norm1": "UpBlocks.Chain_3.ResidualBlock.Chain.GroupNorm_1", + "up_blocks.1.resnets.0.norm1": "UpBlocks.Chain_4.ResidualBlock.Chain.GroupNorm_1", + "up_blocks.0.resnets.2.conv1": "UpBlocks.Chain_3.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "up_blocks.0.resnets.2.conv_shortcut": "UpBlocks.Chain_3.ResidualBlock.Conv2d", + "up_blocks.1.resnets.0.conv1": "UpBlocks.Chain_4.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "up_blocks.1.resnets.0.conv_shortcut": "UpBlocks.Chain_4.ResidualBlock.Conv2d", + "up_blocks.1.resnets.1.conv1": "UpBlocks.Chain_5.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "up_blocks.1.resnets.1.conv_shortcut": "UpBlocks.Chain_5.ResidualBlock.Conv2d", + "up_blocks.1.resnets.2.norm1": "UpBlocks.Chain_6.ResidualBlock.Chain.GroupNorm_1", + "up_blocks.2.resnets.0.norm1": "UpBlocks.Chain_7.ResidualBlock.Chain.GroupNorm_1", + "up_blocks.1.resnets.2.conv1": "UpBlocks.Chain_6.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "up_blocks.1.resnets.2.conv_shortcut": "UpBlocks.Chain_6.ResidualBlock.Conv2d", + "up_blocks.2.resnets.0.conv1": "UpBlocks.Chain_7.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "up_blocks.2.resnets.0.conv_shortcut": "UpBlocks.Chain_7.ResidualBlock.Conv2d", + "up_blocks.2.resnets.1.conv1": "UpBlocks.Chain_8.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "up_blocks.2.resnets.2.conv1": "UpBlocks.Chain_9.ResidualBlock.Chain.RangeAdapter2d.Conv2d", + "up_blocks.2.resnets.1.conv_shortcut": "UpBlocks.Chain_8.ResidualBlock.Conv2d", + "up_blocks.2.resnets.2.conv_shortcut": "UpBlocks.Chain_9.ResidualBlock.Conv2d", + "conv_out": "OutputBlock.Conv2d" + }, + "regex_map": {}, + "ignore_prefixes": [], + "source_aliases": {}, + "reshapes": {} +} \ No newline at end of file diff --git a/imaginairy/weight_management/weight_maps/InformativeDrawings.weightmap.json b/imaginairy/weight_management/weight_maps/InformativeDrawings.weightmap.json new file mode 100644 index 0000000..194ef87 --- /dev/null +++ b/imaginairy/weight_management/weight_maps/InformativeDrawings.weightmap.json @@ -0,0 +1,20 @@ +{ + "name_map": { + "model0.1": "Chain_1.Conv2d", + "model1.0": "Chain_2.Conv2d", + "model1.3": "Chain_3.Conv2d", + "model2.0.conv_block.1": "Residual_1.Conv2d_1", + "model2.0.conv_block.5": "Residual_1.Conv2d_2", + "model2.1.conv_block.1": "Residual_2.Conv2d_1", + "model2.1.conv_block.5": "Residual_2.Conv2d_2", + "model2.2.conv_block.1": "Residual_3.Conv2d_1", + "model2.2.conv_block.5": "Residual_3.Conv2d_2", + "model3.0": "Chain_4.ConvTranspose2d", + "model3.3": "Chain_5.ConvTranspose2d", + "model4.1": "Chain_6.Conv2d" + }, + "regex_map": {}, + "ignore_prefixes": [], + "source_aliases": {}, + "reshapes": {} +} \ No newline at end of file diff --git a/imaginairy/weight_management/weight_maps/Transformers-ClipImageEncoder-SD21.weightmap.json b/imaginairy/weight_management/weight_maps/Transformers-ClipImageEncoder-SD21.weightmap.json new file mode 100644 index 0000000..21518f9 --- /dev/null +++ b/imaginairy/weight_management/weight_maps/Transformers-ClipImageEncoder-SD21.weightmap.json @@ -0,0 +1,275 @@ +{ + "name_map": { + "vision_model.embeddings.patch_embedding": "ViTEmbeddings.Concatenate.Chain.PatchEncoder.Conv2d", + "vision_model.embeddings.position_embedding": "ViTEmbeddings.Residual.PositionalEncoder.Embedding", + "vision_model.embeddings.class_embedding": "ViTEmbeddings.Concatenate.ClassToken.Parameter.weight", + "vision_model.pre_layrnorm": "LayerNorm_1", + "vision_model.encoder.layers.0.layer_norm1": "Chain.TransformerLayer_1.Residual_1.LayerNorm", + "vision_model.encoder.layers.0.layer_norm2": "Chain.TransformerLayer_1.Residual_2.LayerNorm", + "vision_model.encoder.layers.1.layer_norm1": "Chain.TransformerLayer_2.Residual_1.LayerNorm", + "vision_model.encoder.layers.1.layer_norm2": "Chain.TransformerLayer_2.Residual_2.LayerNorm", + "vision_model.encoder.layers.2.layer_norm1": "Chain.TransformerLayer_3.Residual_1.LayerNorm", + "vision_model.encoder.layers.2.layer_norm2": "Chain.TransformerLayer_3.Residual_2.LayerNorm", + "vision_model.encoder.layers.3.layer_norm1": "Chain.TransformerLayer_4.Residual_1.LayerNorm", + "vision_model.encoder.layers.3.layer_norm2": "Chain.TransformerLayer_4.Residual_2.LayerNorm", + "vision_model.encoder.layers.4.layer_norm1": "Chain.TransformerLayer_5.Residual_1.LayerNorm", + "vision_model.encoder.layers.4.layer_norm2": "Chain.TransformerLayer_5.Residual_2.LayerNorm", + "vision_model.encoder.layers.5.layer_norm1": "Chain.TransformerLayer_6.Residual_1.LayerNorm", + "vision_model.encoder.layers.5.layer_norm2": "Chain.TransformerLayer_6.Residual_2.LayerNorm", + "vision_model.encoder.layers.6.layer_norm1": "Chain.TransformerLayer_7.Residual_1.LayerNorm", + "vision_model.encoder.layers.6.layer_norm2": "Chain.TransformerLayer_7.Residual_2.LayerNorm", + "vision_model.encoder.layers.7.layer_norm1": "Chain.TransformerLayer_8.Residual_1.LayerNorm", + "vision_model.encoder.layers.7.layer_norm2": "Chain.TransformerLayer_8.Residual_2.LayerNorm", + "vision_model.encoder.layers.8.layer_norm1": "Chain.TransformerLayer_9.Residual_1.LayerNorm", + "vision_model.encoder.layers.8.layer_norm2": "Chain.TransformerLayer_9.Residual_2.LayerNorm", + "vision_model.encoder.layers.9.layer_norm1": "Chain.TransformerLayer_10.Residual_1.LayerNorm", + "vision_model.encoder.layers.9.layer_norm2": "Chain.TransformerLayer_10.Residual_2.LayerNorm", + "vision_model.encoder.layers.10.layer_norm1": "Chain.TransformerLayer_11.Residual_1.LayerNorm", + "vision_model.encoder.layers.10.layer_norm2": "Chain.TransformerLayer_11.Residual_2.LayerNorm", + "vision_model.encoder.layers.11.layer_norm1": "Chain.TransformerLayer_12.Residual_1.LayerNorm", + "vision_model.encoder.layers.11.layer_norm2": "Chain.TransformerLayer_12.Residual_2.LayerNorm", + "vision_model.encoder.layers.12.layer_norm1": "Chain.TransformerLayer_13.Residual_1.LayerNorm", + "vision_model.encoder.layers.12.layer_norm2": "Chain.TransformerLayer_13.Residual_2.LayerNorm", + "vision_model.encoder.layers.13.layer_norm1": "Chain.TransformerLayer_14.Residual_1.LayerNorm", + "vision_model.encoder.layers.13.layer_norm2": "Chain.TransformerLayer_14.Residual_2.LayerNorm", + "vision_model.encoder.layers.14.layer_norm1": "Chain.TransformerLayer_15.Residual_1.LayerNorm", + "vision_model.encoder.layers.14.layer_norm2": "Chain.TransformerLayer_15.Residual_2.LayerNorm", + "vision_model.encoder.layers.15.layer_norm1": "Chain.TransformerLayer_16.Residual_1.LayerNorm", + "vision_model.encoder.layers.15.layer_norm2": "Chain.TransformerLayer_16.Residual_2.LayerNorm", + "vision_model.encoder.layers.16.layer_norm1": "Chain.TransformerLayer_17.Residual_1.LayerNorm", + "vision_model.encoder.layers.16.layer_norm2": "Chain.TransformerLayer_17.Residual_2.LayerNorm", + "vision_model.encoder.layers.17.layer_norm1": "Chain.TransformerLayer_18.Residual_1.LayerNorm", + "vision_model.encoder.layers.17.layer_norm2": "Chain.TransformerLayer_18.Residual_2.LayerNorm", + "vision_model.encoder.layers.18.layer_norm1": "Chain.TransformerLayer_19.Residual_1.LayerNorm", + "vision_model.encoder.layers.18.layer_norm2": "Chain.TransformerLayer_19.Residual_2.LayerNorm", + "vision_model.encoder.layers.19.layer_norm1": "Chain.TransformerLayer_20.Residual_1.LayerNorm", + "vision_model.encoder.layers.19.layer_norm2": "Chain.TransformerLayer_20.Residual_2.LayerNorm", + "vision_model.encoder.layers.20.layer_norm1": "Chain.TransformerLayer_21.Residual_1.LayerNorm", + "vision_model.encoder.layers.20.layer_norm2": "Chain.TransformerLayer_21.Residual_2.LayerNorm", + "vision_model.encoder.layers.21.layer_norm1": "Chain.TransformerLayer_22.Residual_1.LayerNorm", + "vision_model.encoder.layers.21.layer_norm2": "Chain.TransformerLayer_22.Residual_2.LayerNorm", + "vision_model.encoder.layers.22.layer_norm1": "Chain.TransformerLayer_23.Residual_1.LayerNorm", + "vision_model.encoder.layers.22.layer_norm2": "Chain.TransformerLayer_23.Residual_2.LayerNorm", + "vision_model.encoder.layers.23.layer_norm1": "Chain.TransformerLayer_24.Residual_1.LayerNorm", + "vision_model.encoder.layers.23.layer_norm2": "Chain.TransformerLayer_24.Residual_2.LayerNorm", + "vision_model.encoder.layers.24.layer_norm1": "Chain.TransformerLayer_25.Residual_1.LayerNorm", + "vision_model.encoder.layers.24.layer_norm2": "Chain.TransformerLayer_25.Residual_2.LayerNorm", + "vision_model.encoder.layers.25.layer_norm1": "Chain.TransformerLayer_26.Residual_1.LayerNorm", + "vision_model.encoder.layers.25.layer_norm2": "Chain.TransformerLayer_26.Residual_2.LayerNorm", + "vision_model.encoder.layers.26.layer_norm1": "Chain.TransformerLayer_27.Residual_1.LayerNorm", + "vision_model.encoder.layers.26.layer_norm2": "Chain.TransformerLayer_27.Residual_2.LayerNorm", + "vision_model.encoder.layers.27.layer_norm1": "Chain.TransformerLayer_28.Residual_1.LayerNorm", + "vision_model.encoder.layers.27.layer_norm2": "Chain.TransformerLayer_28.Residual_2.LayerNorm", + "vision_model.encoder.layers.28.layer_norm1": "Chain.TransformerLayer_29.Residual_1.LayerNorm", + "vision_model.encoder.layers.28.layer_norm2": "Chain.TransformerLayer_29.Residual_2.LayerNorm", + "vision_model.encoder.layers.29.layer_norm1": "Chain.TransformerLayer_30.Residual_1.LayerNorm", + "vision_model.encoder.layers.29.layer_norm2": "Chain.TransformerLayer_30.Residual_2.LayerNorm", + "vision_model.encoder.layers.30.layer_norm1": "Chain.TransformerLayer_31.Residual_1.LayerNorm", + "vision_model.encoder.layers.30.layer_norm2": "Chain.TransformerLayer_31.Residual_2.LayerNorm", + "vision_model.encoder.layers.31.layer_norm1": "Chain.TransformerLayer_32.Residual_1.LayerNorm", + "vision_model.encoder.layers.31.layer_norm2": "Chain.TransformerLayer_32.Residual_2.LayerNorm", + "vision_model.post_layernorm": "LayerNorm_2", + "vision_model.encoder.layers.0.self_attn.q_proj": "Chain.TransformerLayer_1.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.0.self_attn.k_proj": "Chain.TransformerLayer_1.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.0.self_attn.v_proj": "Chain.TransformerLayer_1.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.0.self_attn.out_proj": "Chain.TransformerLayer_1.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.1.self_attn.q_proj": "Chain.TransformerLayer_2.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.1.self_attn.k_proj": "Chain.TransformerLayer_2.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.1.self_attn.v_proj": "Chain.TransformerLayer_2.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.1.self_attn.out_proj": "Chain.TransformerLayer_2.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.2.self_attn.q_proj": "Chain.TransformerLayer_3.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.2.self_attn.k_proj": "Chain.TransformerLayer_3.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.2.self_attn.v_proj": "Chain.TransformerLayer_3.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.2.self_attn.out_proj": "Chain.TransformerLayer_3.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.3.self_attn.q_proj": "Chain.TransformerLayer_4.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.3.self_attn.k_proj": "Chain.TransformerLayer_4.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.3.self_attn.v_proj": "Chain.TransformerLayer_4.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.3.self_attn.out_proj": "Chain.TransformerLayer_4.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.4.self_attn.q_proj": "Chain.TransformerLayer_5.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.4.self_attn.k_proj": "Chain.TransformerLayer_5.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.4.self_attn.v_proj": "Chain.TransformerLayer_5.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.4.self_attn.out_proj": "Chain.TransformerLayer_5.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.5.self_attn.q_proj": "Chain.TransformerLayer_6.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.5.self_attn.k_proj": "Chain.TransformerLayer_6.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.5.self_attn.v_proj": "Chain.TransformerLayer_6.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.5.self_attn.out_proj": "Chain.TransformerLayer_6.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.6.self_attn.q_proj": "Chain.TransformerLayer_7.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.6.self_attn.k_proj": "Chain.TransformerLayer_7.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.6.self_attn.v_proj": "Chain.TransformerLayer_7.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.6.self_attn.out_proj": "Chain.TransformerLayer_7.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.7.self_attn.q_proj": "Chain.TransformerLayer_8.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.7.self_attn.k_proj": "Chain.TransformerLayer_8.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.7.self_attn.v_proj": "Chain.TransformerLayer_8.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.7.self_attn.out_proj": "Chain.TransformerLayer_8.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.8.self_attn.q_proj": "Chain.TransformerLayer_9.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.8.self_attn.k_proj": "Chain.TransformerLayer_9.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.8.self_attn.v_proj": "Chain.TransformerLayer_9.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.8.self_attn.out_proj": "Chain.TransformerLayer_9.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.9.self_attn.q_proj": "Chain.TransformerLayer_10.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.9.self_attn.k_proj": "Chain.TransformerLayer_10.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.9.self_attn.v_proj": "Chain.TransformerLayer_10.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.9.self_attn.out_proj": "Chain.TransformerLayer_10.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.10.self_attn.q_proj": "Chain.TransformerLayer_11.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.10.self_attn.k_proj": "Chain.TransformerLayer_11.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.10.self_attn.v_proj": "Chain.TransformerLayer_11.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.10.self_attn.out_proj": "Chain.TransformerLayer_11.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.11.self_attn.q_proj": "Chain.TransformerLayer_12.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.11.self_attn.k_proj": "Chain.TransformerLayer_12.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.11.self_attn.v_proj": "Chain.TransformerLayer_12.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.11.self_attn.out_proj": "Chain.TransformerLayer_12.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.12.self_attn.q_proj": "Chain.TransformerLayer_13.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.12.self_attn.k_proj": "Chain.TransformerLayer_13.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.12.self_attn.v_proj": "Chain.TransformerLayer_13.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.12.self_attn.out_proj": "Chain.TransformerLayer_13.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.13.self_attn.q_proj": "Chain.TransformerLayer_14.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.13.self_attn.k_proj": "Chain.TransformerLayer_14.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.13.self_attn.v_proj": "Chain.TransformerLayer_14.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.13.self_attn.out_proj": "Chain.TransformerLayer_14.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.14.self_attn.q_proj": "Chain.TransformerLayer_15.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.14.self_attn.k_proj": "Chain.TransformerLayer_15.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.14.self_attn.v_proj": "Chain.TransformerLayer_15.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.14.self_attn.out_proj": "Chain.TransformerLayer_15.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.15.self_attn.q_proj": "Chain.TransformerLayer_16.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.15.self_attn.k_proj": "Chain.TransformerLayer_16.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.15.self_attn.v_proj": "Chain.TransformerLayer_16.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.15.self_attn.out_proj": "Chain.TransformerLayer_16.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.16.self_attn.q_proj": "Chain.TransformerLayer_17.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.16.self_attn.k_proj": "Chain.TransformerLayer_17.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.16.self_attn.v_proj": "Chain.TransformerLayer_17.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.16.self_attn.out_proj": "Chain.TransformerLayer_17.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.17.self_attn.q_proj": "Chain.TransformerLayer_18.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.17.self_attn.k_proj": "Chain.TransformerLayer_18.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.17.self_attn.v_proj": "Chain.TransformerLayer_18.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.17.self_attn.out_proj": "Chain.TransformerLayer_18.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.18.self_attn.q_proj": "Chain.TransformerLayer_19.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.18.self_attn.k_proj": "Chain.TransformerLayer_19.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.18.self_attn.v_proj": "Chain.TransformerLayer_19.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.18.self_attn.out_proj": "Chain.TransformerLayer_19.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.19.self_attn.q_proj": "Chain.TransformerLayer_20.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.19.self_attn.k_proj": "Chain.TransformerLayer_20.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.19.self_attn.v_proj": "Chain.TransformerLayer_20.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.19.self_attn.out_proj": "Chain.TransformerLayer_20.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.20.self_attn.q_proj": "Chain.TransformerLayer_21.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.20.self_attn.k_proj": "Chain.TransformerLayer_21.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.20.self_attn.v_proj": "Chain.TransformerLayer_21.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.20.self_attn.out_proj": "Chain.TransformerLayer_21.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.21.self_attn.q_proj": "Chain.TransformerLayer_22.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.21.self_attn.k_proj": "Chain.TransformerLayer_22.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.21.self_attn.v_proj": "Chain.TransformerLayer_22.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.21.self_attn.out_proj": "Chain.TransformerLayer_22.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.22.self_attn.q_proj": "Chain.TransformerLayer_23.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.22.self_attn.k_proj": "Chain.TransformerLayer_23.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.22.self_attn.v_proj": "Chain.TransformerLayer_23.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.22.self_attn.out_proj": "Chain.TransformerLayer_23.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.23.self_attn.q_proj": "Chain.TransformerLayer_24.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.23.self_attn.k_proj": "Chain.TransformerLayer_24.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.23.self_attn.v_proj": "Chain.TransformerLayer_24.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.23.self_attn.out_proj": "Chain.TransformerLayer_24.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.24.self_attn.q_proj": "Chain.TransformerLayer_25.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.24.self_attn.k_proj": "Chain.TransformerLayer_25.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.24.self_attn.v_proj": "Chain.TransformerLayer_25.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.24.self_attn.out_proj": "Chain.TransformerLayer_25.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.25.self_attn.q_proj": "Chain.TransformerLayer_26.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.25.self_attn.k_proj": "Chain.TransformerLayer_26.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.25.self_attn.v_proj": "Chain.TransformerLayer_26.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.25.self_attn.out_proj": "Chain.TransformerLayer_26.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.26.self_attn.q_proj": "Chain.TransformerLayer_27.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.26.self_attn.k_proj": "Chain.TransformerLayer_27.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.26.self_attn.v_proj": "Chain.TransformerLayer_27.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.26.self_attn.out_proj": "Chain.TransformerLayer_27.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.27.self_attn.q_proj": "Chain.TransformerLayer_28.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.27.self_attn.k_proj": "Chain.TransformerLayer_28.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.27.self_attn.v_proj": "Chain.TransformerLayer_28.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.27.self_attn.out_proj": "Chain.TransformerLayer_28.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.28.self_attn.q_proj": "Chain.TransformerLayer_29.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.28.self_attn.k_proj": "Chain.TransformerLayer_29.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.28.self_attn.v_proj": "Chain.TransformerLayer_29.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.28.self_attn.out_proj": "Chain.TransformerLayer_29.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.29.self_attn.q_proj": "Chain.TransformerLayer_30.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.29.self_attn.k_proj": "Chain.TransformerLayer_30.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.29.self_attn.v_proj": "Chain.TransformerLayer_30.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.29.self_attn.out_proj": "Chain.TransformerLayer_30.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.30.self_attn.q_proj": "Chain.TransformerLayer_31.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.30.self_attn.k_proj": "Chain.TransformerLayer_31.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.30.self_attn.v_proj": "Chain.TransformerLayer_31.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.30.self_attn.out_proj": "Chain.TransformerLayer_31.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.31.self_attn.q_proj": "Chain.TransformerLayer_32.Residual_1.SelfAttention.Distribute.Linear_1", + "vision_model.encoder.layers.31.self_attn.k_proj": "Chain.TransformerLayer_32.Residual_1.SelfAttention.Distribute.Linear_2", + "vision_model.encoder.layers.31.self_attn.v_proj": "Chain.TransformerLayer_32.Residual_1.SelfAttention.Distribute.Linear_3", + "vision_model.encoder.layers.31.self_attn.out_proj": "Chain.TransformerLayer_32.Residual_1.SelfAttention.Linear", + "vision_model.encoder.layers.0.mlp.fc1": "Chain.TransformerLayer_1.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.1.mlp.fc1": "Chain.TransformerLayer_2.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.2.mlp.fc1": "Chain.TransformerLayer_3.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.3.mlp.fc1": "Chain.TransformerLayer_4.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.4.mlp.fc1": "Chain.TransformerLayer_5.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.5.mlp.fc1": "Chain.TransformerLayer_6.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.6.mlp.fc1": "Chain.TransformerLayer_7.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.7.mlp.fc1": "Chain.TransformerLayer_8.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.8.mlp.fc1": "Chain.TransformerLayer_9.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.9.mlp.fc1": "Chain.TransformerLayer_10.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.10.mlp.fc1": "Chain.TransformerLayer_11.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.11.mlp.fc1": "Chain.TransformerLayer_12.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.12.mlp.fc1": "Chain.TransformerLayer_13.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.13.mlp.fc1": "Chain.TransformerLayer_14.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.14.mlp.fc1": "Chain.TransformerLayer_15.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.15.mlp.fc1": "Chain.TransformerLayer_16.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.16.mlp.fc1": "Chain.TransformerLayer_17.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.17.mlp.fc1": "Chain.TransformerLayer_18.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.18.mlp.fc1": "Chain.TransformerLayer_19.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.19.mlp.fc1": "Chain.TransformerLayer_20.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.20.mlp.fc1": "Chain.TransformerLayer_21.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.21.mlp.fc1": "Chain.TransformerLayer_22.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.22.mlp.fc1": "Chain.TransformerLayer_23.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.23.mlp.fc1": "Chain.TransformerLayer_24.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.24.mlp.fc1": "Chain.TransformerLayer_25.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.25.mlp.fc1": "Chain.TransformerLayer_26.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.26.mlp.fc1": "Chain.TransformerLayer_27.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.27.mlp.fc1": "Chain.TransformerLayer_28.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.28.mlp.fc1": "Chain.TransformerLayer_29.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.29.mlp.fc1": "Chain.TransformerLayer_30.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.30.mlp.fc1": "Chain.TransformerLayer_31.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.31.mlp.fc1": "Chain.TransformerLayer_32.Residual_2.FeedForward.Linear_1", + "vision_model.encoder.layers.0.mlp.fc2": "Chain.TransformerLayer_1.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.1.mlp.fc2": "Chain.TransformerLayer_2.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.2.mlp.fc2": "Chain.TransformerLayer_3.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.3.mlp.fc2": "Chain.TransformerLayer_4.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.4.mlp.fc2": "Chain.TransformerLayer_5.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.5.mlp.fc2": "Chain.TransformerLayer_6.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.6.mlp.fc2": "Chain.TransformerLayer_7.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.7.mlp.fc2": "Chain.TransformerLayer_8.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.8.mlp.fc2": "Chain.TransformerLayer_9.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.9.mlp.fc2": "Chain.TransformerLayer_10.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.10.mlp.fc2": "Chain.TransformerLayer_11.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.11.mlp.fc2": "Chain.TransformerLayer_12.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.12.mlp.fc2": "Chain.TransformerLayer_13.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.13.mlp.fc2": "Chain.TransformerLayer_14.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.14.mlp.fc2": "Chain.TransformerLayer_15.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.15.mlp.fc2": "Chain.TransformerLayer_16.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.16.mlp.fc2": "Chain.TransformerLayer_17.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.17.mlp.fc2": "Chain.TransformerLayer_18.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.18.mlp.fc2": "Chain.TransformerLayer_19.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.19.mlp.fc2": "Chain.TransformerLayer_20.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.20.mlp.fc2": "Chain.TransformerLayer_21.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.21.mlp.fc2": "Chain.TransformerLayer_22.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.22.mlp.fc2": "Chain.TransformerLayer_23.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.23.mlp.fc2": "Chain.TransformerLayer_24.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.24.mlp.fc2": "Chain.TransformerLayer_25.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.25.mlp.fc2": "Chain.TransformerLayer_26.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.26.mlp.fc2": "Chain.TransformerLayer_27.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.27.mlp.fc2": "Chain.TransformerLayer_28.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.28.mlp.fc2": "Chain.TransformerLayer_29.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.29.mlp.fc2": "Chain.TransformerLayer_30.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.30.mlp.fc2": "Chain.TransformerLayer_31.Residual_2.FeedForward.Linear_2", + "vision_model.encoder.layers.31.mlp.fc2": "Chain.TransformerLayer_32.Residual_2.FeedForward.Linear_2", + "visual_projection": "Linear" + }, + "regex_map": {}, + "ignore_prefixes": [], + "source_aliases": {}, + "reshapes": { + "ViTEmbeddings.Concatenate.ClassToken.Parameter.weight": [ + 1, + 1280 + ] + } +} \ No newline at end of file diff --git a/imaginairy/weight_management/weight_maps/Transformers-ClipTextEncoder.weightmap.json b/imaginairy/weight_management/weight_maps/Transformers-ClipTextEncoder.weightmap.json new file mode 100644 index 0000000..3962c9d --- /dev/null +++ b/imaginairy/weight_management/weight_maps/Transformers-ClipTextEncoder.weightmap.json @@ -0,0 +1,19 @@ +{ + "name_map": { + "text_model.embeddings.token_embedding": "Sum.TokenEncoder", + "text_model.embeddings.position_embedding": "Sum.PositionalEncoder.Embedding", + "text_model.final_layer_norm": "LayerNorm", + "text_projection": "Linear" + }, + "regex_map": { + "text_model\\.encoder\\.layers\\.(?P\\d+)\\.layer_norm(?P\\d+)": "TransformerLayer_{int(layer) + 1}.Residual_{norm}.LayerNorm", + "text_model\\.encoder\\.layers\\.(?P\\d+)\\.self_attn\\.q_proj": "TransformerLayer_{int(layer_number) + 1}.Residual_1.SelfAttention.Distribute.Linear_1", + "text_model\\.encoder\\.layers\\.(?P\\d+)\\.self_attn\\.k_proj": "TransformerLayer_{int(layer_number) + 1}.Residual_1.SelfAttention.Distribute.Linear_2", + "text_model\\.encoder\\.layers\\.(?P\\d+)\\.self_attn\\.v_proj": "TransformerLayer_{int(layer_number) + 1}.Residual_1.SelfAttention.Distribute.Linear_3", + "text_model\\.encoder\\.layers\\.(?P\\d+)\\.self_attn\\.out_proj": "TransformerLayer_{int(layer_number) + 1}.Residual_1.SelfAttention.Linear", + "text_model\\.encoder\\.layers\\.(?P\\d+)\\.mlp\\.fc(?P\\d+)": "TransformerLayer_{int(layer_number) + 1}.Residual_2.FeedForward.Linear_{fc_num}" + }, + "ignore_prefixes": [], + "source_aliases": {}, + "reshapes": {} +} \ No newline at end of file diff --git a/imaginairy/weight_management/maps/controlnet-1-1_all_diffusers_TO_refiners.json b/imaginairy/weight_management/weight_maps/controlnet-1-1_all_diffusers_TO_refiners.json similarity index 100% rename from imaginairy/weight_management/maps/controlnet-1-1_all_diffusers_TO_refiners.json rename to imaginairy/weight_management/weight_maps/controlnet-1-1_all_diffusers_TO_refiners.json diff --git a/imaginairy/weight_management/maps/stable-diffusion-1-5_clipencoderH_diffusers_TO_refiners.json b/imaginairy/weight_management/weight_maps/stable-diffusion-1-5_clipencoderH_diffusers_TO_refiners.json similarity index 100% rename from imaginairy/weight_management/maps/stable-diffusion-1-5_clipencoderH_diffusers_TO_refiners.json rename to imaginairy/weight_management/weight_maps/stable-diffusion-1-5_clipencoderH_diffusers_TO_refiners.json diff --git a/imaginairy/weight_management/maps/stable-diffusion-1-5_text_compvis_TO_diffusers.json b/imaginairy/weight_management/weight_maps/stable-diffusion-1-5_text_compvis_TO_diffusers.json similarity index 100% rename from imaginairy/weight_management/maps/stable-diffusion-1-5_text_compvis_TO_diffusers.json rename to imaginairy/weight_management/weight_maps/stable-diffusion-1-5_text_compvis_TO_diffusers.json diff --git a/imaginairy/weight_management/maps/stable-diffusion-1-5_text_diffusers_TO_compvis.json b/imaginairy/weight_management/weight_maps/stable-diffusion-1-5_text_diffusers_TO_compvis.json similarity index 100% rename from imaginairy/weight_management/maps/stable-diffusion-1-5_text_diffusers_TO_compvis.json rename to imaginairy/weight_management/weight_maps/stable-diffusion-1-5_text_diffusers_TO_compvis.json diff --git a/imaginairy/weight_management/maps/stable-diffusion-1-5_text_diffusers_TO_refiners.json b/imaginairy/weight_management/weight_maps/stable-diffusion-1-5_text_diffusers_TO_refiners.json similarity index 100% rename from imaginairy/weight_management/maps/stable-diffusion-1-5_text_diffusers_TO_refiners.json rename to imaginairy/weight_management/weight_maps/stable-diffusion-1-5_text_diffusers_TO_refiners.json diff --git a/imaginairy/weight_management/maps/stable-diffusion-1-5_unet_compvis_TO_diffusers.json b/imaginairy/weight_management/weight_maps/stable-diffusion-1-5_unet_compvis_TO_diffusers.json similarity index 100% rename from imaginairy/weight_management/maps/stable-diffusion-1-5_unet_compvis_TO_diffusers.json rename to imaginairy/weight_management/weight_maps/stable-diffusion-1-5_unet_compvis_TO_diffusers.json diff --git a/imaginairy/weight_management/maps/stable-diffusion-1-5_unet_diffusers_TO_compvis.json b/imaginairy/weight_management/weight_maps/stable-diffusion-1-5_unet_diffusers_TO_compvis.json similarity index 100% rename from imaginairy/weight_management/maps/stable-diffusion-1-5_unet_diffusers_TO_compvis.json rename to imaginairy/weight_management/weight_maps/stable-diffusion-1-5_unet_diffusers_TO_compvis.json diff --git a/imaginairy/weight_management/maps/stable-diffusion-1-5_unet_diffusers_TO_refiners.json b/imaginairy/weight_management/weight_maps/stable-diffusion-1-5_unet_diffusers_TO_refiners.json similarity index 100% rename from imaginairy/weight_management/maps/stable-diffusion-1-5_unet_diffusers_TO_refiners.json rename to imaginairy/weight_management/weight_maps/stable-diffusion-1-5_unet_diffusers_TO_refiners.json diff --git a/imaginairy/weight_management/maps/stable-diffusion-1-5_vae_compvis_TO_diffusers.json b/imaginairy/weight_management/weight_maps/stable-diffusion-1-5_vae_compvis_TO_diffusers.json similarity index 100% rename from imaginairy/weight_management/maps/stable-diffusion-1-5_vae_compvis_TO_diffusers.json rename to imaginairy/weight_management/weight_maps/stable-diffusion-1-5_vae_compvis_TO_diffusers.json diff --git a/imaginairy/weight_management/maps/stable-diffusion-1-5_vae_diffusers_TO_compvis.json b/imaginairy/weight_management/weight_maps/stable-diffusion-1-5_vae_diffusers_TO_compvis.json similarity index 100% rename from imaginairy/weight_management/maps/stable-diffusion-1-5_vae_diffusers_TO_compvis.json rename to imaginairy/weight_management/weight_maps/stable-diffusion-1-5_vae_diffusers_TO_compvis.json diff --git a/imaginairy/weight_management/maps/stable-diffusion-1-5_vae_diffusers_TO_refiners.json b/imaginairy/weight_management/weight_maps/stable-diffusion-1-5_vae_diffusers_TO_refiners.json similarity index 100% rename from imaginairy/weight_management/maps/stable-diffusion-1-5_vae_diffusers_TO_refiners.json rename to imaginairy/weight_management/weight_maps/stable-diffusion-1-5_vae_diffusers_TO_refiners.json diff --git a/tests/data/cuda-tests.csv b/tests/data/cuda-tests.csv index 66262db..7a91904 100644 --- a/tests/data/cuda-tests.csv +++ b/tests/data/cuda-tests.csv @@ -38,6 +38,40 @@ tests/test_api.py::test_inpainting_bench tests/test_api.py::test_large_image tests/test_api.py::test_model_versions[SD-1.5] tests/test_api.py::test_tile_mode +tests/test_api/test_generate.py::test_cliptext_inpainting_pearl_doctor +tests/test_api/test_generate.py::test_controlnet[canny] +tests/test_api/test_generate.py::test_controlnet[colorize] +tests/test_api/test_generate.py::test_controlnet[depth] +tests/test_api/test_generate.py::test_controlnet[details] +tests/test_api/test_generate.py::test_controlnet[edit] +tests/test_api/test_generate.py::test_controlnet[hed] +tests/test_api/test_generate.py::test_controlnet[inpaint] +tests/test_api/test_generate.py::test_controlnet[normal] +tests/test_api/test_generate.py::test_controlnet[openpose] +tests/test_api/test_generate.py::test_controlnet[qrcode] +tests/test_api/test_generate.py::test_controlnet[shuffle] +tests/test_api/test_generate.py::test_imagine[ddim] +tests/test_api/test_generate.py::test_imagine[dpmpp] +tests/test_api/test_generate.py::test_img2img_beach_to_sunset[ddim] +tests/test_api/test_generate.py::test_img2img_beach_to_sunset[dpmpp] +tests/test_api/test_generate.py::test_img2img_low_noise[ddim] +tests/test_api/test_generate.py::test_img2img_low_noise[dpmpp] +tests/test_api/test_generate.py::test_img_to_file +tests/test_api/test_generate.py::test_img_to_img_from_url_cats[ddim] +tests/test_api/test_generate.py::test_img_to_img_from_url_cats[dpmpp] +tests/test_api/test_generate.py::test_img_to_img_fruit_2_gold[ddim-0.05] +tests/test_api/test_generate.py::test_img_to_img_fruit_2_gold[ddim-0.2] +tests/test_api/test_generate.py::test_img_to_img_fruit_2_gold[ddim-0] +tests/test_api/test_generate.py::test_img_to_img_fruit_2_gold[ddim-1] +tests/test_api/test_generate.py::test_img_to_img_fruit_2_gold[dpmpp-0.05] +tests/test_api/test_generate.py::test_img_to_img_fruit_2_gold[dpmpp-0.2] +tests/test_api/test_generate.py::test_img_to_img_fruit_2_gold[dpmpp-0] +tests/test_api/test_generate.py::test_img_to_img_fruit_2_gold[dpmpp-1] +tests/test_api/test_generate.py::test_img_to_img_fruit_2_gold_repeat +tests/test_api/test_generate.py::test_inpainting_bench +tests/test_api/test_generate.py::test_large_image +tests/test_api/test_generate.py::test_model_versions[SD-1.5] +tests/test_api/test_generate.py::test_tile_mode tests/test_cli/test_cmds.py::test_colorize_cmd tests/test_cli/test_cmds.py::test_describe_cmd tests/test_cli/test_cmds.py::test_edit_cmd @@ -53,6 +87,7 @@ tests/test_enhancers/test_describe_image_blip.py::test_describe_picture tests/test_enhancers/test_describe_image_clip.py::test_clip_text_comparison tests/test_enhancers/test_face_restoration_codeformer.py::test_fix_faces tests/test_enhancers/test_upscale_realesrgan.py::test_upscale_textured_image +tests/test_modules/diffusion/test_model.py::test_nonlinearity tests/test_outpaint.py::test_outpainting_outpaint tests/test_safety.py::test_is_nsfw tests/test_utils/test_model_cache.py::test_cache_ordering diff --git a/tests/modules/__init__.py b/tests/test_api/__init__.py similarity index 100% rename from tests/modules/__init__.py rename to tests/test_api/__init__.py diff --git a/tests/test_api.py b/tests/test_api/test_generate.py similarity index 99% rename from tests/test_api.py rename to tests/test_api/test_generate.py index c84bbe5..32b7a6c 100644 --- a/tests/test_api.py +++ b/tests/test_api/test_generate.py @@ -7,9 +7,8 @@ from imaginairy.img_processors.control_modes import CONTROL_MODES from imaginairy.schema import ControlInput, ImaginePrompt, LazyLoadingImage, MaskMode from imaginairy.utils import get_device from imaginairy.utils.img_utils import pillow_fit_image_within - -from . import TESTS_FOLDER -from .utils import assert_image_similar_to_expectation +from tests import TESTS_FOLDER +from tests.utils import assert_image_similar_to_expectation def test_imagine(solver_type, filename_base_for_outputs): diff --git a/tests/test_http_app/test_routes.py b/tests/test_http_app/test_routes.py index ed0d9b1..97306b5 100644 --- a/tests/test_http_app/test_routes.py +++ b/tests/test_http_app/test_routes.py @@ -63,6 +63,8 @@ async def test_list_models(): "openjourney-v4", "modern-disney", "redshift-diffusion", + "sdxl", + "opendalle11", } model_ids = {m["id"] for m in response.json()} assert model_ids == expected_model_ids diff --git a/tests/modules/diffusion/__init__.py b/tests/test_modules/__init__.py similarity index 100% rename from tests/modules/diffusion/__init__.py rename to tests/test_modules/__init__.py diff --git a/tests/test_modules/diffusion/__init__.py b/tests/test_modules/diffusion/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/modules/diffusion/test_model.py b/tests/test_modules/diffusion/test_model.py similarity index 100% rename from tests/modules/diffusion/test_model.py rename to tests/test_modules/diffusion/test_model.py diff --git a/tests/modules/test_autoencoders.py b/tests/test_modules/test_autoencoders.py similarity index 100% rename from tests/modules/test_autoencoders.py rename to tests/test_modules/test_autoencoders.py diff --git a/tests/test_modules/test_refiners_sd.py b/tests/test_modules/test_refiners_sd.py new file mode 100644 index 0000000..30d2f20 --- /dev/null +++ b/tests/test_modules/test_refiners_sd.py @@ -0,0 +1,2 @@ +def test_sdxl_vae(): + pass diff --git a/tests/test_utils/test_model_manager.py b/tests/test_utils/test_model_manager.py index 5677af0..18566b0 100644 --- a/tests/test_utils/test_model_manager.py +++ b/tests/test_utils/test_model_manager.py @@ -11,9 +11,6 @@ def test_resolved_paths(): """Test that the resolved model path is correct.""" model_weights_config = resolve_model_weights_config(config.DEFAULT_MODEL_WEIGHTS) assert config.DEFAULT_MODEL_WEIGHTS.lower() in model_weights_config.aliases - assert ( - config.DEFAULT_MODEL_ARCHITECTURE in model_weights_config.architecture.aliases - ) model_weights_config = resolve_model_weights_config( model_weights="foo.ckpt",