diff --git a/.gitattributes b/.gitattributes index a6344aac8c09253b3b630fb776ae94478aa0275b..909b7106f615da2c2481a12ecd8fe4709da4a386 100644 --- a/.gitattributes +++ b/.gitattributes @@ -33,3 +33,5 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text *.zip filter=lfs diff=lfs merge=lfs -text *.zst filter=lfs diff=lfs merge=lfs -text *tfevents* filter=lfs diff=lfs merge=lfs -text +Wan2.2-TI2V-5B-Diffusers/tokenizer/tokenizer.json filter=lfs diff=lfs merge=lfs -text +Wan2.2-TI2V-5B-Diffusers/examples/i2v_input.JPG filter=lfs diff=lfs merge=lfs -text diff --git a/Wan2.2-TI2V-5B-Diffusers/.msc b/Wan2.2-TI2V-5B-Diffusers/.msc new file mode 100644 index 0000000000000000000000000000000000000000..93085822803810c5ac28021ef40d4b9304d55ed4 Binary files /dev/null and b/Wan2.2-TI2V-5B-Diffusers/.msc differ diff --git a/Wan2.2-TI2V-5B-Diffusers/.mv b/Wan2.2-TI2V-5B-Diffusers/.mv new file mode 100644 index 0000000000000000000000000000000000000000..4bf296a9b1f19104b8578acc4b5f2cdf83c30224 --- /dev/null +++ b/Wan2.2-TI2V-5B-Diffusers/.mv @@ -0,0 +1 @@ +Revision:master,CreatedAt:1754803045 \ No newline at end of file diff --git a/Wan2.2-TI2V-5B-Diffusers/README.md b/Wan2.2-TI2V-5B-Diffusers/README.md new file mode 100644 index 0000000000000000000000000000000000000000..f940f55ea91f0d5713b7fa7b42be2590ea17a9e7 --- /dev/null +++ b/Wan2.2-TI2V-5B-Diffusers/README.md @@ -0,0 +1,276 @@ +--- +license: apache-2.0 +language: +- en +- zh +pipeline_tag: text-to-video +--- +# Wan2.2 + +

+ +

+ +

+ 💜 Wan    |    🖥️ GitHub    |   🤗 Hugging Face   |   🤖 ModelScope   |    📑 Technical Report    |    📑 Blog    |   💬 WeChat Group   |    📖 Discord   +
+ +----- + +[**Wan: Open and Advanced Large-Scale Video Generative Models**](https://arxiv.org/abs/2503.20314) + + +We are excited to introduce **Wan2.2**, a major upgrade to our foundational video models. With **Wan2.2**, we have focused on incorporating the following innovations: + +- 👍 **Effective MoE Architecture**: Wan2.2 introduces a Mixture-of-Experts (MoE) architecture into video diffusion models. By separating the denoising process cross timesteps with specialized powerful expert models, this enlarges the overall model capacity while maintaining the same computational cost. + +- 👍 **Cinematic-level Aesthetics**: Wan2.2 incorporates meticulously curated aesthetic data, complete with detailed labels for lighting, composition, contrast, color tone, and more. This allows for more precise and controllable cinematic style generation, facilitating the creation of videos with customizable aesthetic preferences. + +- 👍 **Complex Motion Generation**: Compared to Wan2.1, Wan2.2 is trained on a significantly larger data, with +65.6% more images and +83.2% more videos. This expansion notably enhances the model's generalization across multiple dimensions such as motions, semantics, and aesthetics, achieving TOP performance among all open-sourced and closed-sourced models. + +- 👍 **Efficient High-Definition Hybrid TI2V**: Wan2.2 open-sources a 5B model built with our advanced Wan2.2-VAE that achieves a compression ratio of **16×16×4**. This model supports both text-to-video and image-to-video generation at 720P resolution with 24fps and can also run on consumer-grade graphics cards like 4090. It is one of the fastest **720P@24fps** models currently available, capable of serving both the industrial and academic sectors simultaneously. + +This repository contains our TI2V-5B model, built with the advanced Wan2.2-VAE that achieves a compression ratio of 16×16×4. This model supports both text-to-video and image-to-video generation at 720P resolution with 24fps and can runs on single consumer-grade GPU such as the 4090. It is one of the fastest 720P@24fps models available, meeting the needs of both industrial applications and academic research. + + + +## Video Demos + +

+ +
+ + +## 🔥 Latest News!! + +* Jul 28, 2025: 👋 We've released the inference code and model weights of **Wan2.2**. + +## Community Works +If your research or project builds upon [**Wan2.1**](https://github.com/Wan-Video/Wan2.1) or Wan2.2, we welcome you to share it with us so we can highlight it for the broader community. + + +## 📑 Todo List +- Wan2.2 Text-to-Video + - [x] Multi-GPU Inference code of the A14B and 14B models + - [x] Checkpoints of the A14B and 14B models + - [x] ComfyUI integration + - [x] Diffusers integration +- Wan2.2 Image-to-Video + - [x] Multi-GPU Inference code of the A14B model + - [x] Checkpoints of the A14B model + - [x] ComfyUI integration + - [x] Diffusers integration +- Wan2.2 Text-Image-to-Video + - [x] Multi-GPU Inference code of the 5B model + - [x] Checkpoints of the 5B model + - [x] ComfyUI integration + - [x] Diffusers integration + +## Run Wan2.2 + +#### Installation +Clone the repo: +```sh +git clone https://github.com/Wan-Video/Wan2.2.git +cd Wan2.2 +``` + +Install dependencies: +```sh +# Ensure torch >= 2.4.0 +pip install -r requirements.txt +``` + + +#### Model Download + + +| Models | Download Links | Description | +|--------------------|---------------------------------------------------------------------------------------------------------------------------------------------|-------------| +| T2V-A14B | 🤗 [Huggingface](https://huggingface.co/Wan-AI/Wan2.2-T2V-A14B) 🤖 [ModelScope](https://modelscope.cn/models/Wan-AI/Wan2.2-T2V-A14B) | Text-to-Video MoE model, supports 480P & 720P | +| I2V-A14B | 🤗 [Huggingface](https://huggingface.co/Wan-AI/Wan2.2-I2V-A14B) 🤖 [ModelScope](https://modelscope.cn/models/Wan-AI/Wan2.2-I2V-A14B) | Image-to-Video MoE model, supports 480P & 720P | +| TI2V-5B | 🤗 [Huggingface](https://huggingface.co/Wan-AI/Wan2.2-TI2V-5B) 🤖 [ModelScope](https://modelscope.cn/models/Wan-AI/Wan2.2-TI2V-5B) | High-compression VAE, T2V+I2V, supports 720P | + + +> 💡Note: +> The TI2V-5B model supports 720P video generation at **24 FPS**. + + +Download models using huggingface-cli: +``` sh +pip install "huggingface_hub[cli]" +huggingface-cli download Wan-AI/Wan2.2-TI2V-5B --local-dir ./Wan2.2-TI2V-5B +``` + +Download models using modelscope-cli: +``` sh +pip install modelscope +modelscope download Wan-AI/Wan2.2-TI2V-5B --local_dir ./Wan2.2-TI2V-5B +``` + +#### Run Text-Image-to-Video Generation + +This repository supports the `Wan2.2-TI2V-5B` Text-Image-to-Video model and can support video generation at 720P resolutions. + + +- Single-GPU Text-to-Video inference +```sh +python generate.py --task ti2v-5B --size 1280*704 --ckpt_dir ./Wan2.2-TI2V-5B --offload_model True --convert_model_dtype --t5_cpu --prompt "Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage" +``` + +> 💡Unlike other tasks, the 720P resolution of the Text-Image-to-Video task is `1280*704` or `704*1280`. + +> This command can run on a GPU with at least 24GB VRAM (e.g, RTX 4090 GPU). + +> 💡If you are running on a GPU with at least 80GB VRAM, you can remove the `--offload_model True`, `--convert_model_dtype` and `--t5_cpu` options to speed up execution. + + +- Single-GPU Image-to-Video inference +```sh +python generate.py --task ti2v-5B --size 1280*704 --ckpt_dir ./Wan2.2-TI2V-5B --offload_model True --convert_model_dtype --t5_cpu --image examples/i2v_input.JPG --prompt "Summer beach vacation style, a white cat wearing sunglasses sits on a surfboard. The fluffy-furred feline gazes directly at the camera with a relaxed expression. Blurred beach scenery forms the background featuring crystal-clear waters, distant green hills, and a blue sky dotted with white clouds. The cat assumes a naturally relaxed posture, as if savoring the sea breeze and warm sunlight. A close-up shot highlights the feline's intricate details and the refreshing atmosphere of the seaside." +``` + +> 💡If the image parameter is configured, it is an Image-to-Video generation; otherwise, it defaults to a Text-to-Video generation. + +> 💡Similar to Image-to-Video, the `size` parameter represents the area of the generated video, with the aspect ratio following that of the original input image. + + +- Multi-GPU inference using FSDP + DeepSpeed Ulysses + +```sh +torchrun --nproc_per_node=8 generate.py --task ti2v-5B --size 1280*704 --ckpt_dir ./Wan2.2-TI2V-5B --dit_fsdp --t5_fsdp --ulysses_size 8 --image examples/i2v_input.JPG --prompt "Summer beach vacation style, a white cat wearing sunglasses sits on a surfboard. The fluffy-furred feline gazes directly at the camera with a relaxed expression. Blurred beach scenery forms the background featuring crystal-clear waters, distant green hills, and a blue sky dotted with white clouds. The cat assumes a naturally relaxed posture, as if savoring the sea breeze and warm sunlight. A close-up shot highlights the feline's intricate details and the refreshing atmosphere of the seaside." +``` + +> The process of prompt extension can be referenced [here](#2-using-prompt-extention). + + +- Running with Diffusers + +```py +import torch +import numpy as np +from diffusers import WanPipeline, AutoencoderKLWan, WanTransformer3DModel, UniPCMultistepScheduler +from diffusers.utils import export_to_video, load_image + +dtype = torch.bfloat16 +device = "cuda" + +model_id = "Wan-AI/Wan2.2-TI2V-5B-Diffusers" +vae = AutoencoderKLWan.from_pretrained(model_id, subfolder="vae", torch_dtype=torch.float32) +pipe = WanPipeline.from_pretrained(model_id, vae=vae, torch_dtype=dtype) +pipe.to(device) + +height = 704 +width = 1280 +num_frames = 121 +num_inference_steps = 50 +guidance_scale = 5.0 + + +prompt = "Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage." +negative_prompt = "色调艳丽,过曝,静态,细节模糊不清,字幕,风格,作品,画作,画面,静止,整体发灰,最差质量,低质量,JPEG压缩残留,丑陋的,残缺的,多余的手指,画得不好的手部,画得不好的脸部,畸形的,毁容的,形态畸形的肢体,手指融合,静止不动的画面,杂乱的背景,三条腿,背景人很多,倒着走" + +output = pipe( + prompt=prompt, + negative_prompt=negative_prompt, + height=height, + width=width, + num_frames=num_frames, + guidance_scale=guidance_scale, + num_inference_steps=num_inference_steps, +).frames[0] +export_to_video(output, "5bit2v_output.mp4", fps=24) + +``` +> 💡**Note**:This model requires features that are currently available only in the main branch of diffusers. The latest stable release on PyPI does not yet include these updates. +> To use this model, please install the library from source: +> ``` +> pip install git+https://github.com/huggingface/diffusers +> ``` + + +## Computational Efficiency on Different GPUs + +We test the computational efficiency of different **Wan2.2** models on different GPUs in the following table. The results are presented in the format: **Total time (s) / peak GPU memory (GB)**. + + +
+ +
+ +> The parameter settings for the tests presented in this table are as follows: +> (1) Multi-GPU: 14B: `--ulysses_size 4/8 --dit_fsdp --t5_fsdp`, 5B: `--ulysses_size 4/8 --offload_model True --convert_model_dtype --t5_cpu`; Single-GPU: 14B: `--offload_model True --convert_model_dtype`, 5B: `--offload_model True --convert_model_dtype --t5_cpu` +(--convert_model_dtype converts model parameter types to config.param_dtype); +> (2) The distributed testing utilizes the built-in FSDP and Ulysses implementations, with FlashAttention3 deployed on Hopper architecture GPUs; +> (3) Tests were run without the `--use_prompt_extend` flag; +> (4) Reported results are the average of multiple samples taken after the warm-up phase. + + +------- + +## Introduction of Wan2.2 + +**Wan2.2** builds on the foundation of Wan2.1 with notable improvements in generation quality and model capability. This upgrade is driven by a series of key technical innovations, mainly including the Mixture-of-Experts (MoE) architecture, upgraded training data, and high-compression video generation. + +##### (1) Mixture-of-Experts (MoE) Architecture + +Wan2.2 introduces Mixture-of-Experts (MoE) architecture into the video generation diffusion model. MoE has been widely validated in large language models as an efficient approach to increase total model parameters while keeping inference cost nearly unchanged. In Wan2.2, the A14B model series adopts a two-expert design tailored to the denoising process of diffusion models: a high-noise expert for the early stages, focusing on overall layout; and a low-noise expert for the later stages, refining video details. Each expert model has about 14B parameters, resulting in a total of 27B parameters but only 14B active parameters per step, keeping inference computation and GPU memory nearly unchanged. + +
+ +
+ +The transition point between the two experts is determined by the signal-to-noise ratio (SNR), a metric that decreases monotonically as the denoising step $t$ increases. At the beginning of the denoising process, $t$ is large and the noise level is high, so the SNR is at its minimum, denoted as ${SNR}_{min}$. In this stage, the high-noise expert is activated. We define a threshold step ${t}_{moe}$ corresponding to half of the ${SNR}_{min}$, and switch to the low-noise expert when $t<{t}_{moe}$. + +
+ +
+ +To validate the effectiveness of the MoE architecture, four settings are compared based on their validation loss curves. The baseline **Wan2.1** model does not employ the MoE architecture. Among the MoE-based variants, the **Wan2.1 & High-Noise Expert** reuses the Wan2.1 model as the low-noise expert while uses the Wan2.2's high-noise expert, while the **Wan2.1 & Low-Noise Expert** uses Wan2.1 as the high-noise expert and employ the Wan2.2's low-noise expert. The **Wan2.2 (MoE)** (our final version) achieves the lowest validation loss, indicating that its generated video distribution is closest to ground-truth and exhibits superior convergence. + + +##### (2) Efficient High-Definition Hybrid TI2V +To enable more efficient deployment, Wan2.2 also explores a high-compression design. In addition to the 27B MoE models, a 5B dense model, i.e., TI2V-5B, is released. It is supported by a high-compression Wan2.2-VAE, which achieves a $T\times H\times W$ compression ratio of $4\times16\times16$, increasing the overall compression rate to 64 while maintaining high-quality video reconstruction. With an additional patchification layer, the total compression ratio of TI2V-5B reaches $4\times32\times32$. Without specific optimization, TI2V-5B can generate a 5-second 720P video in under 9 minutes on a single consumer-grade GPU, ranking among the fastest 720P@24fps video generation models. This model also natively supports both text-to-video and image-to-video tasks within a single unified framework, covering both academic research and practical applications. + + +
+ +
+ + + +##### Comparisons to SOTAs +We compared Wan2.2 with leading closed-source commercial models on our new Wan-Bench 2.0, evaluating performance across multiple crucial dimensions. The results demonstrate that Wan2.2 achieves superior performance compared to these leading models. + + +
+ +
+ +## Citation +If you find our work helpful, please cite us. + +``` +@article{wan2025, + title={Wan: Open and Advanced Large-Scale Video Generative Models}, + author={Team Wan and Ang Wang and Baole Ai and Bin Wen and Chaojie Mao and Chen-Wei Xie and Di Chen and Feiwu Yu and Haiming Zhao and Jianxiao Yang and Jianyuan Zeng and Jiayu Wang and Jingfeng Zhang and Jingren Zhou and Jinkai Wang and Jixuan Chen and Kai Zhu and Kang Zhao and Keyu Yan and Lianghua Huang and Mengyang Feng and Ningyi Zhang and Pandeng Li and Pingyu Wu and Ruihang Chu and Ruili Feng and Shiwei Zhang and Siyang Sun and Tao Fang and Tianxing Wang and Tianyi Gui and Tingyu Weng and Tong Shen and Wei Lin and Wei Wang and Wei Wang and Wenmeng Zhou and Wente Wang and Wenting Shen and Wenyuan Yu and Xianzhong Shi and Xiaoming Huang and Xin Xu and Yan Kou and Yangyu Lv and Yifei Li and Yijing Liu and Yiming Wang and Yingya Zhang and Yitong Huang and Yong Li and You Wu and Yu Liu and Yulin Pan and Yun Zheng and Yuntao Hong and Yupeng Shi and Yutong Feng and Zeyinzi Jiang and Zhen Han and Zhi-Fan Wu and Ziyu Liu}, + journal = {arXiv preprint arXiv:2503.20314}, + year={2025} +} +``` + +## License Agreement +The models in this repository are licensed under the Apache 2.0 License. We claim no rights over the your generated contents, granting you the freedom to use them while ensuring that your usage complies with the provisions of this license. You are fully accountable for your use of the models, which must not involve sharing any content that violates applicable laws, causes harm to individuals or groups, disseminates personal information intended for harm, spreads misinformation, or targets vulnerable populations. For a complete list of restrictions and details regarding your rights, please refer to the full text of the [license](LICENSE.txt). + + +## Acknowledgements + +We would like to thank the contributors to the [SD3](https://huggingface.co/stabilityai/stable-diffusion-3-medium), [Qwen](https://huggingface.co/Qwen), [umt5-xxl](https://huggingface.co/google/umt5-xxl), [diffusers](https://github.com/huggingface/diffusers) and [HuggingFace](https://huggingface.co) repositories, for their open research. + + + +## Contact Us +If you would like to leave a message to our research or product teams, feel free to join our [Discord](https://discord.gg/AKNgpMK4Yj) or [WeChat groups](https://gw.alicdn.com/imgextra/i2/O1CN01tqjWFi1ByuyehkTSB_!!6000000000015-0-tps-611-1279.jpg)! \ No newline at end of file diff --git a/Wan2.2-TI2V-5B-Diffusers/WanImageProcessor/.gitattributes b/Wan2.2-TI2V-5B-Diffusers/WanImageProcessor/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..a6344aac8c09253b3b630fb776ae94478aa0275b --- /dev/null +++ b/Wan2.2-TI2V-5B-Diffusers/WanImageProcessor/.gitattributes @@ -0,0 +1,35 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.ckpt filter=lfs diff=lfs merge=lfs -text +*.ftz filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.h5 filter=lfs diff=lfs merge=lfs -text +*.joblib filter=lfs diff=lfs merge=lfs -text +*.lfs.* filter=lfs diff=lfs merge=lfs -text +*.mlmodel filter=lfs diff=lfs merge=lfs -text +*.model filter=lfs diff=lfs merge=lfs -text +*.msgpack filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz filter=lfs diff=lfs merge=lfs -text +*.onnx filter=lfs diff=lfs merge=lfs -text +*.ot filter=lfs diff=lfs merge=lfs -text +*.parquet filter=lfs diff=lfs merge=lfs -text +*.pb filter=lfs diff=lfs merge=lfs -text +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl filter=lfs diff=lfs merge=lfs -text +*.pt filter=lfs diff=lfs merge=lfs -text +*.pth filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +*.safetensors filter=lfs diff=lfs merge=lfs -text +saved_model/**/* filter=lfs diff=lfs merge=lfs -text +*.tar.* filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.tflite filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.wasm filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text +*tfevents* filter=lfs diff=lfs merge=lfs -text diff --git a/Wan2.2-TI2V-5B-Diffusers/WanImageProcessor/README.md b/Wan2.2-TI2V-5B-Diffusers/WanImageProcessor/README.md new file mode 100644 index 0000000000000000000000000000000000000000..ee85035f2aa6de4f277df42449a129e0288a7df8 --- /dev/null +++ b/Wan2.2-TI2V-5B-Diffusers/WanImageProcessor/README.md @@ -0,0 +1,60 @@ +this repo contains the default image preprocessing code for wan 2.2 5B I2V pipeline + + +this will load an image from URL, resize and center crop it + +```py +image_processor = ModularPipeline.from_pretrained("YiYiXu/WanImageProcessor", trust_remote_code=True) +image = image_processor( + image="https://huggingface.co/datasets/YiYiXu/testing-images/resolve/main/wan_i2v_input.JPG", + max_area=1280*704, output="processed_image") +``` + + +it does this: + +```py +# copied from https://github.com/Wan-Video/Wan2.2/blob/388807310646ed5f318a99f8e8d9ad28c5b65373/wan/utils/utils.py#L136 +def best_output_size(w, h, dw, dh, expected_area): + # float output size + ratio = w / h + ow = (expected_area * ratio)**0.5 + oh = expected_area / ow + + # process width first + ow1 = int(ow // dw * dw) + oh1 = int(expected_area / ow1 // dh * dh) + assert ow1 % dw == 0 and oh1 % dh == 0 and ow1 * oh1 <= expected_area + ratio1 = ow1 / oh1 + + # process height first + oh2 = int(oh // dh * dh) + ow2 = int(expected_area / oh2 // dw * dw) + assert oh2 % dh == 0 and ow2 % dw == 0 and ow2 * oh2 <= expected_area + ratio2 = ow2 / oh2 + + # compare ratios + if max(ratio / ratio1, ratio1 / ratio) < max(ratio / ratio2, + ratio2 / ratio): + return ow1, oh1 + else: + return ow2, oh2 + +from diffusers.utils import load_image + +image = load_image(block_state.image).convert("RGB") +max_area = 1280*704 + +ih, iw = image.height, image.width +dh, dw = pipe.transformer.config.patch_size[1] * pipe.vae_scale_factor_spatial, pipe.transformer.config.patch_size[2] * pipe.vae_scale_factor_spatial +ow, oh = best_output_size(iw, ih, dw, dh, max_area) + +scale = max(ow / iw, oh / ih) +resized_image = image.resize((round(iw * scale), round(ih * scale)), Image.LANCZOS) + +# center-crop +x1 = (resized_image.width - ow) // 2 +y1 = (resized_image.height - oh) // 2 +image = resized_image.crop((x1, y1, x1 + ow, y1 + oh)) + +``` \ No newline at end of file diff --git a/Wan2.2-TI2V-5B-Diffusers/WanImageProcessor/block.py b/Wan2.2-TI2V-5B-Diffusers/WanImageProcessor/block.py new file mode 100644 index 0000000000000000000000000000000000000000..6c1e1f0fad726fcd969393b6680230a3173ba33b --- /dev/null +++ b/Wan2.2-TI2V-5B-Diffusers/WanImageProcessor/block.py @@ -0,0 +1,96 @@ +from diffusers.modular_pipelines import ( + ModularPipelineBlocks, + InputParam, + OutputParam, + ConfigSpec, +) + +from diffusers.utils import load_image +from PIL import Image +from typing import Union, Tuple + +# copied from https://github.com/Wan-Video/Wan2.2/blob/388807310646ed5f318a99f8e8d9ad28c5b65373/wan/utils/utils.py#L136 +def best_output_size(w, h, dw, dh, expected_area): + # float output size + ratio = w / h + ow = (expected_area * ratio)**0.5 + oh = expected_area / ow + + # process width first + ow1 = int(ow // dw * dw) + oh1 = int(expected_area / ow1 // dh * dh) + assert ow1 % dw == 0 and oh1 % dh == 0 and ow1 * oh1 <= expected_area + ratio1 = ow1 / oh1 + + # process height first + oh2 = int(oh // dh * dh) + ow2 = int(expected_area / oh2 // dw * dw) + assert oh2 % dh == 0 and ow2 % dw == 0 and ow2 * oh2 <= expected_area + ratio2 = ow2 / oh2 + + # compare ratios + if max(ratio / ratio1, ratio1 / ratio) < max(ratio / ratio2, + ratio2 / ratio): + return ow1, oh1 + else: + return ow2, oh2 + +class Wan225BI2VImageProcessor(ModularPipelineBlocks): + + @property + def description(self): + return "default Image Processor for wan2.2 5b i2v, it resizes the image to the best output size and center-crop it" + + @property + def inputs(self): + return [ + InputParam(name="image", type_hint=Union[Image.Image, str], description= "the Image to process"), + InputParam(name="max_area", type_hint=int, description= "the maximum area of the Image to process") + ] + + @property + def intermediate_outputs(self): + return [ + OutputParam(name="processed_image", type_hint=Image.Image, description= "the processed Image"), + ] + + @property + def expected_configs(self): + return [ + ConfigSpec(name="patch_size", default=(1, 2, 2)), + ConfigSpec(name="vae_stride", default=(4, 16, 16)), + ] + + def __call__(self, components, state): + + block_state = self.get_block_state(state) + + if isinstance(block_state.image, str): + image = load_image(block_state.image).convert("RGB") + elif isinstance(block_state.image, Image.Image): + image = block_state.image + else: + raise ValueError(f"Invalid image type: {type(block_state.image)}; only support PIL Image or url string") + + ih, iw = image.height, image.width + dh, dw = components.patch_size[1] * components.vae_stride[1], components.patch_size[2] * components.vae_stride[2] + ow, oh = best_output_size(iw, ih, dw, dh, block_state.max_area) + + scale = max(ow / iw, oh / ih) + resized_image = image.resize((round(iw * scale), round(ih * scale)), Image.LANCZOS) + + # center-crop + x1 = (resized_image.width - ow) // 2 + y1 = (resized_image.height - oh) // 2 + cropped_image = resized_image.crop((x1, y1, x1 + ow, y1 + oh)) + assert cropped_image.width == ow and cropped_image.height == oh + + block_state.processed_image = cropped_image + + print(f" initial image size: {image.size}") + print(f" processed image size: {cropped_image.size}") + + + self.set_block_state(state, block_state) + return components, state + diff --git a/Wan2.2-TI2V-5B-Diffusers/WanImageProcessor/modular_config.json b/Wan2.2-TI2V-5B-Diffusers/WanImageProcessor/modular_config.json new file mode 100644 index 0000000000000000000000000000000000000000..7011b2fb00e241021d94bf40d9be6cca6f6497e0 --- /dev/null +++ b/Wan2.2-TI2V-5B-Diffusers/WanImageProcessor/modular_config.json @@ -0,0 +1,7 @@ +{ + "_class_name": "Wan225BI2VImageProcessor", + "_diffusers_version": "0.35.0.dev0", + "auto_map": { + "ModularPipelineBlocks": "block.Wan225BI2VImageProcessor" + } +} diff --git a/Wan2.2-TI2V-5B-Diffusers/WanImageProcessor/modular_model_index.json b/Wan2.2-TI2V-5B-Diffusers/WanImageProcessor/modular_model_index.json new file mode 100644 index 0000000000000000000000000000000000000000..2c2373e18b362b0a73fe6d84291faad3c22fc85f --- /dev/null +++ b/Wan2.2-TI2V-5B-Diffusers/WanImageProcessor/modular_model_index.json @@ -0,0 +1,15 @@ +{ + "_blocks_class_name": "Wan225BI2VImageProcessor", + "_class_name": "ModularPipeline", + "_diffusers_version": "0.35.0.dev0", + "patch_size": [ + 1, + 2, + 2 + ], + "vae_stride": [ + 4, + 16, + 16 + ] +} diff --git a/Wan2.2-TI2V-5B-Diffusers/assets/logo.png b/Wan2.2-TI2V-5B-Diffusers/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0c55854cbd9692975f217714ffd83fd4b37f5dca Binary files /dev/null and b/Wan2.2-TI2V-5B-Diffusers/assets/logo.png differ diff --git a/Wan2.2-TI2V-5B-Diffusers/assets/moe_arch.png b/Wan2.2-TI2V-5B-Diffusers/assets/moe_arch.png new file mode 100644 index 0000000000000000000000000000000000000000..7822af1e65215ee2a9449c9b7616afd713f67a01 Binary files /dev/null and b/Wan2.2-TI2V-5B-Diffusers/assets/moe_arch.png differ diff --git a/Wan2.2-TI2V-5B-Diffusers/configuration.json b/Wan2.2-TI2V-5B-Diffusers/configuration.json new file mode 100644 index 0000000000000000000000000000000000000000..c2cca17bf400234dad00da13d0ddf1aab84bb2f5 --- /dev/null +++ b/Wan2.2-TI2V-5B-Diffusers/configuration.json @@ -0,0 +1 @@ +{"framework": "pytorch", "task": "video-generation", "allow_remote": true} \ No newline at end of file diff --git a/Wan2.2-TI2V-5B-Diffusers/examples/i2v_input.JPG b/Wan2.2-TI2V-5B-Diffusers/examples/i2v_input.JPG new file mode 100644 index 0000000000000000000000000000000000000000..8c7fabd943752179587eb717362db32ce1eb4800 --- /dev/null +++ b/Wan2.2-TI2V-5B-Diffusers/examples/i2v_input.JPG @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:077e3d965090c9028c69c00931675f42e1acc815c6eb450ab291b3b72d211a8e +size 250628 diff --git a/Wan2.2-TI2V-5B-Diffusers/model_index.json b/Wan2.2-TI2V-5B-Diffusers/model_index.json new file mode 100644 index 0000000000000000000000000000000000000000..fe52bfbdc8e5bbc8a6a607dd301f6e1ab0889cd1 --- /dev/null +++ b/Wan2.2-TI2V-5B-Diffusers/model_index.json @@ -0,0 +1,30 @@ +{ + "_class_name": "WanPipeline", + "_diffusers_version": "0.35.0.dev0", + "boundary_ratio": null, + "expand_timesteps": true, + "scheduler": [ + "diffusers", + "UniPCMultistepScheduler" + ], + "text_encoder": [ + "transformers", + "UMT5EncoderModel" + ], + "tokenizer": [ + "transformers", + "T5TokenizerFast" + ], + "transformer": [ + "diffusers", + "WanTransformer3DModel" + ], + "transformer_2": [ + null, + null + ], + "vae": [ + "diffusers", + "AutoencoderKLWan" + ] +} diff --git a/Wan2.2-TI2V-5B-Diffusers/scheduler/scheduler_config.json b/Wan2.2-TI2V-5B-Diffusers/scheduler/scheduler_config.json new file mode 100644 index 0000000000000000000000000000000000000000..950d26faea717c8902ee197982026cb9c1b6463e --- /dev/null +++ b/Wan2.2-TI2V-5B-Diffusers/scheduler/scheduler_config.json @@ -0,0 +1,30 @@ +{ + "_class_name": "UniPCMultistepScheduler", + "_diffusers_version": "0.35.0.dev0", + "beta_end": 0.02, + "beta_schedule": "linear", + "beta_start": 0.0001, + "disable_corrector": [], + "dynamic_thresholding_ratio": 0.995, + "final_sigmas_type": "zero", + "flow_shift": 5.0, + "lower_order_final": true, + "num_train_timesteps": 1000, + "predict_x0": true, + "prediction_type": "flow_prediction", + "rescale_betas_zero_snr": false, + "sample_max_value": 1.0, + "solver_order": 2, + "solver_p": null, + "solver_type": "bh2", + "steps_offset": 0, + "thresholding": false, + "time_shift_type": "exponential", + "timestep_spacing": "linspace", + "trained_betas": null, + "use_beta_sigmas": false, + "use_dynamic_shifting": false, + "use_exponential_sigmas": false, + "use_flow_sigmas": true, + "use_karras_sigmas": false +} diff --git a/Wan2.2-TI2V-5B-Diffusers/text_encoder/config.json b/Wan2.2-TI2V-5B-Diffusers/text_encoder/config.json new file mode 100644 index 0000000000000000000000000000000000000000..ab4a73bce055c6e32e66133032dcb3adfb26ee8d --- /dev/null +++ b/Wan2.2-TI2V-5B-Diffusers/text_encoder/config.json @@ -0,0 +1,34 @@ +{ + "_name_or_path": "google/umt5-xxl", + "architectures": [ + "UMT5EncoderModel" + ], + "classifier_dropout": 0.0, + "d_ff": 10240, + "d_kv": 64, + "d_model": 4096, + "decoder_start_token_id": 0, + "dense_act_fn": "gelu_new", + "dropout_rate": 0.1, + "eos_token_id": 1, + "feed_forward_proj": "gated-gelu", + "initializer_factor": 1.0, + "is_encoder_decoder": true, + "is_gated_act": true, + "layer_norm_epsilon": 1e-06, + "model_type": "umt5", + "num_decoder_layers": 24, + "num_heads": 64, + "num_layers": 24, + "output_past": true, + "pad_token_id": 0, + "relative_attention_max_distance": 128, + "relative_attention_num_buckets": 32, + "scalable_attention": true, + "tie_word_embeddings": false, + "tokenizer_class": "T5Tokenizer", + "torch_dtype": "bfloat16", + "transformers_version": "4.48.0.dev0", + "use_cache": true, + "vocab_size": 256384 +} diff --git a/Wan2.2-TI2V-5B-Diffusers/text_encoder/model-00001-of-00003.safetensors b/Wan2.2-TI2V-5B-Diffusers/text_encoder/model-00001-of-00003.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..3e671d382b9dd6c7fff4cb11756526032d5e6f6c --- /dev/null +++ b/Wan2.2-TI2V-5B-Diffusers/text_encoder/model-00001-of-00003.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8e861969c7433e707cc5a74065d795d36cca07ec96eb6763eb4083df7248f58 +size 4935812536 diff --git a/Wan2.2-TI2V-5B-Diffusers/text_encoder/model-00002-of-00003.safetensors b/Wan2.2-TI2V-5B-Diffusers/text_encoder/model-00002-of-00003.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..b35fc9ac361a2b8ee0289121cd045e00cfe57e49 --- /dev/null +++ b/Wan2.2-TI2V-5B-Diffusers/text_encoder/model-00002-of-00003.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d57d948ece4837d850b7a859a4415121d57cacf8b9ee1d4db200c67f592902d7 +size 4983103192 diff --git a/Wan2.2-TI2V-5B-Diffusers/text_encoder/model-00003-of-00003.safetensors b/Wan2.2-TI2V-5B-Diffusers/text_encoder/model-00003-of-00003.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..a76bb7245d7e1cb456132b1a8abe2b1e48a87481 --- /dev/null +++ b/Wan2.2-TI2V-5B-Diffusers/text_encoder/model-00003-of-00003.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0da9ee284e21d1406df708788db1d502d95d75f69faa25cd26151bf8829b7c5f +size 1442935480 diff --git a/Wan2.2-TI2V-5B-Diffusers/text_encoder/model.safetensors.index.json b/Wan2.2-TI2V-5B-Diffusers/text_encoder/model.safetensors.index.json new file mode 100644 index 0000000000000000000000000000000000000000..f3d3d4da90eb33e14c92d88ea346370fa3c0b5b2 --- /dev/null +++ b/Wan2.2-TI2V-5B-Diffusers/text_encoder/model.safetensors.index.json @@ -0,0 +1,249 @@ +{ + "metadata": { + "total_size": 11361820672 + }, + "weight_map": { + "encoder.block.0.layer.0.SelfAttention.k.weight": "model-00001-of-00003.safetensors", + "encoder.block.0.layer.0.SelfAttention.o.weight": "model-00001-of-00003.safetensors", + "encoder.block.0.layer.0.SelfAttention.q.weight": "model-00001-of-00003.safetensors", + "encoder.block.0.layer.0.SelfAttention.relative_attention_bias.weight": "model-00001-of-00003.safetensors", + "encoder.block.0.layer.0.SelfAttention.v.weight": "model-00001-of-00003.safetensors", + "encoder.block.0.layer.0.layer_norm.weight": "model-00001-of-00003.safetensors", + "encoder.block.0.layer.1.DenseReluDense.wi_0.weight": "model-00001-of-00003.safetensors", + "encoder.block.0.layer.1.DenseReluDense.wi_1.weight": "model-00001-of-00003.safetensors", + "encoder.block.0.layer.1.DenseReluDense.wo.weight": "model-00001-of-00003.safetensors", + "encoder.block.0.layer.1.layer_norm.weight": "model-00001-of-00003.safetensors", + "encoder.block.1.layer.0.SelfAttention.k.weight": "model-00001-of-00003.safetensors", + "encoder.block.1.layer.0.SelfAttention.o.weight": "model-00001-of-00003.safetensors", + "encoder.block.1.layer.0.SelfAttention.q.weight": "model-00001-of-00003.safetensors", + "encoder.block.1.layer.0.SelfAttention.relative_attention_bias.weight": "model-00001-of-00003.safetensors", + "encoder.block.1.layer.0.SelfAttention.v.weight": "model-00001-of-00003.safetensors", + "encoder.block.1.layer.0.layer_norm.weight": "model-00001-of-00003.safetensors", + "encoder.block.1.layer.1.DenseReluDense.wi_0.weight": "model-00001-of-00003.safetensors", + "encoder.block.1.layer.1.DenseReluDense.wi_1.weight": "model-00001-of-00003.safetensors", + "encoder.block.1.layer.1.DenseReluDense.wo.weight": "model-00001-of-00003.safetensors", + "encoder.block.1.layer.1.layer_norm.weight": "model-00001-of-00003.safetensors", + "encoder.block.10.layer.0.SelfAttention.k.weight": "model-00002-of-00003.safetensors", + "encoder.block.10.layer.0.SelfAttention.o.weight": "model-00002-of-00003.safetensors", + "encoder.block.10.layer.0.SelfAttention.q.weight": "model-00002-of-00003.safetensors", + "encoder.block.10.layer.0.SelfAttention.relative_attention_bias.weight": "model-00002-of-00003.safetensors", + "encoder.block.10.layer.0.SelfAttention.v.weight": "model-00002-of-00003.safetensors", + "encoder.block.10.layer.0.layer_norm.weight": "model-00002-of-00003.safetensors", + "encoder.block.10.layer.1.DenseReluDense.wi_0.weight": "model-00002-of-00003.safetensors", + "encoder.block.10.layer.1.DenseReluDense.wi_1.weight": "model-00002-of-00003.safetensors", + "encoder.block.10.layer.1.DenseReluDense.wo.weight": "model-00002-of-00003.safetensors", + "encoder.block.10.layer.1.layer_norm.weight": "model-00002-of-00003.safetensors", + "encoder.block.11.layer.0.SelfAttention.k.weight": "model-00002-of-00003.safetensors", + "encoder.block.11.layer.0.SelfAttention.o.weight": "model-00002-of-00003.safetensors", + "encoder.block.11.layer.0.SelfAttention.q.weight": "model-00002-of-00003.safetensors", + "encoder.block.11.layer.0.SelfAttention.relative_attention_bias.weight": "model-00002-of-00003.safetensors", + "encoder.block.11.layer.0.SelfAttention.v.weight": "model-00002-of-00003.safetensors", + "encoder.block.11.layer.0.layer_norm.weight": "model-00002-of-00003.safetensors", + "encoder.block.11.layer.1.DenseReluDense.wi_0.weight": "model-00002-of-00003.safetensors", + "encoder.block.11.layer.1.DenseReluDense.wi_1.weight": "model-00002-of-00003.safetensors", + "encoder.block.11.layer.1.DenseReluDense.wo.weight": "model-00002-of-00003.safetensors", + "encoder.block.11.layer.1.layer_norm.weight": "model-00002-of-00003.safetensors", + "encoder.block.12.layer.0.SelfAttention.k.weight": "model-00002-of-00003.safetensors", + "encoder.block.12.layer.0.SelfAttention.o.weight": "model-00002-of-00003.safetensors", + "encoder.block.12.layer.0.SelfAttention.q.weight": "model-00002-of-00003.safetensors", + "encoder.block.12.layer.0.SelfAttention.relative_attention_bias.weight": "model-00002-of-00003.safetensors", + "encoder.block.12.layer.0.SelfAttention.v.weight": "model-00002-of-00003.safetensors", + "encoder.block.12.layer.0.layer_norm.weight": "model-00002-of-00003.safetensors", + "encoder.block.12.layer.1.DenseReluDense.wi_0.weight": "model-00002-of-00003.safetensors", + "encoder.block.12.layer.1.DenseReluDense.wi_1.weight": "model-00002-of-00003.safetensors", + "encoder.block.12.layer.1.DenseReluDense.wo.weight": "model-00002-of-00003.safetensors", + "encoder.block.12.layer.1.layer_norm.weight": "model-00002-of-00003.safetensors", + "encoder.block.13.layer.0.SelfAttention.k.weight": "model-00002-of-00003.safetensors", + "encoder.block.13.layer.0.SelfAttention.o.weight": "model-00002-of-00003.safetensors", + "encoder.block.13.layer.0.SelfAttention.q.weight": "model-00002-of-00003.safetensors", + "encoder.block.13.layer.0.SelfAttention.relative_attention_bias.weight": "model-00002-of-00003.safetensors", + "encoder.block.13.layer.0.SelfAttention.v.weight": "model-00002-of-00003.safetensors", + "encoder.block.13.layer.0.layer_norm.weight": "model-00002-of-00003.safetensors", + "encoder.block.13.layer.1.DenseReluDense.wi_0.weight": "model-00002-of-00003.safetensors", + "encoder.block.13.layer.1.DenseReluDense.wi_1.weight": "model-00002-of-00003.safetensors", + "encoder.block.13.layer.1.DenseReluDense.wo.weight": "model-00002-of-00003.safetensors", + "encoder.block.13.layer.1.layer_norm.weight": "model-00002-of-00003.safetensors", + "encoder.block.14.layer.0.SelfAttention.k.weight": "model-00002-of-00003.safetensors", + "encoder.block.14.layer.0.SelfAttention.o.weight": "model-00002-of-00003.safetensors", + "encoder.block.14.layer.0.SelfAttention.q.weight": "model-00002-of-00003.safetensors", + "encoder.block.14.layer.0.SelfAttention.relative_attention_bias.weight": "model-00002-of-00003.safetensors", + "encoder.block.14.layer.0.SelfAttention.v.weight": "model-00002-of-00003.safetensors", + "encoder.block.14.layer.0.layer_norm.weight": "model-00002-of-00003.safetensors", + "encoder.block.14.layer.1.DenseReluDense.wi_0.weight": "model-00002-of-00003.safetensors", + "encoder.block.14.layer.1.DenseReluDense.wi_1.weight": "model-00002-of-00003.safetensors", + "encoder.block.14.layer.1.DenseReluDense.wo.weight": "model-00002-of-00003.safetensors", + "encoder.block.14.layer.1.layer_norm.weight": "model-00002-of-00003.safetensors", + "encoder.block.15.layer.0.SelfAttention.k.weight": "model-00002-of-00003.safetensors", + "encoder.block.15.layer.0.SelfAttention.o.weight": "model-00002-of-00003.safetensors", + "encoder.block.15.layer.0.SelfAttention.q.weight": "model-00002-of-00003.safetensors", + "encoder.block.15.layer.0.SelfAttention.relative_attention_bias.weight": "model-00002-of-00003.safetensors", + "encoder.block.15.layer.0.SelfAttention.v.weight": "model-00002-of-00003.safetensors", + "encoder.block.15.layer.0.layer_norm.weight": "model-00002-of-00003.safetensors", + "encoder.block.15.layer.1.DenseReluDense.wi_0.weight": "model-00002-of-00003.safetensors", + "encoder.block.15.layer.1.DenseReluDense.wi_1.weight": "model-00002-of-00003.safetensors", + "encoder.block.15.layer.1.DenseReluDense.wo.weight": "model-00002-of-00003.safetensors", + "encoder.block.15.layer.1.layer_norm.weight": "model-00002-of-00003.safetensors", + "encoder.block.16.layer.0.SelfAttention.k.weight": "model-00002-of-00003.safetensors", + "encoder.block.16.layer.0.SelfAttention.o.weight": "model-00002-of-00003.safetensors", + "encoder.block.16.layer.0.SelfAttention.q.weight": "model-00002-of-00003.safetensors", + "encoder.block.16.layer.0.SelfAttention.relative_attention_bias.weight": "model-00002-of-00003.safetensors", + "encoder.block.16.layer.0.SelfAttention.v.weight": "model-00002-of-00003.safetensors", + "encoder.block.16.layer.0.layer_norm.weight": "model-00002-of-00003.safetensors", + "encoder.block.16.layer.1.DenseReluDense.wi_0.weight": "model-00002-of-00003.safetensors", + "encoder.block.16.layer.1.DenseReluDense.wi_1.weight": "model-00002-of-00003.safetensors", + "encoder.block.16.layer.1.DenseReluDense.wo.weight": "model-00002-of-00003.safetensors", + "encoder.block.16.layer.1.layer_norm.weight": "model-00002-of-00003.safetensors", + "encoder.block.17.layer.0.SelfAttention.k.weight": "model-00002-of-00003.safetensors", + "encoder.block.17.layer.0.SelfAttention.o.weight": "model-00002-of-00003.safetensors", + "encoder.block.17.layer.0.SelfAttention.q.weight": "model-00002-of-00003.safetensors", + "encoder.block.17.layer.0.SelfAttention.relative_attention_bias.weight": "model-00002-of-00003.safetensors", + "encoder.block.17.layer.0.SelfAttention.v.weight": "model-00002-of-00003.safetensors", + "encoder.block.17.layer.0.layer_norm.weight": "model-00002-of-00003.safetensors", + "encoder.block.17.layer.1.DenseReluDense.wi_0.weight": "model-00002-of-00003.safetensors", + "encoder.block.17.layer.1.DenseReluDense.wi_1.weight": "model-00002-of-00003.safetensors", + "encoder.block.17.layer.1.DenseReluDense.wo.weight": "model-00002-of-00003.safetensors", + "encoder.block.17.layer.1.layer_norm.weight": "model-00002-of-00003.safetensors", + "encoder.block.18.layer.0.SelfAttention.k.weight": "model-00002-of-00003.safetensors", + "encoder.block.18.layer.0.SelfAttention.o.weight": "model-00002-of-00003.safetensors", + "encoder.block.18.layer.0.SelfAttention.q.weight": "model-00002-of-00003.safetensors", + "encoder.block.18.layer.0.SelfAttention.relative_attention_bias.weight": "model-00002-of-00003.safetensors", + "encoder.block.18.layer.0.SelfAttention.v.weight": "model-00002-of-00003.safetensors", + "encoder.block.18.layer.0.layer_norm.weight": "model-00002-of-00003.safetensors", + "encoder.block.18.layer.1.DenseReluDense.wi_0.weight": "model-00002-of-00003.safetensors", + "encoder.block.18.layer.1.DenseReluDense.wi_1.weight": "model-00002-of-00003.safetensors", + "encoder.block.18.layer.1.DenseReluDense.wo.weight": "model-00002-of-00003.safetensors", + "encoder.block.18.layer.1.layer_norm.weight": "model-00002-of-00003.safetensors", + "encoder.block.19.layer.0.SelfAttention.k.weight": "model-00002-of-00003.safetensors", + "encoder.block.19.layer.0.SelfAttention.o.weight": "model-00002-of-00003.safetensors", + "encoder.block.19.layer.0.SelfAttention.q.weight": "model-00002-of-00003.safetensors", + "encoder.block.19.layer.0.SelfAttention.relative_attention_bias.weight": "model-00002-of-00003.safetensors", + "encoder.block.19.layer.0.SelfAttention.v.weight": "model-00002-of-00003.safetensors", + "encoder.block.19.layer.0.layer_norm.weight": "model-00002-of-00003.safetensors", + "encoder.block.19.layer.1.DenseReluDense.wi_0.weight": "model-00002-of-00003.safetensors", + "encoder.block.19.layer.1.DenseReluDense.wi_1.weight": "model-00002-of-00003.safetensors", + "encoder.block.19.layer.1.DenseReluDense.wo.weight": "model-00002-of-00003.safetensors", + "encoder.block.19.layer.1.layer_norm.weight": "model-00002-of-00003.safetensors", + "encoder.block.2.layer.0.SelfAttention.k.weight": "model-00001-of-00003.safetensors", + "encoder.block.2.layer.0.SelfAttention.o.weight": "model-00001-of-00003.safetensors", + "encoder.block.2.layer.0.SelfAttention.q.weight": "model-00001-of-00003.safetensors", + "encoder.block.2.layer.0.SelfAttention.relative_attention_bias.weight": "model-00001-of-00003.safetensors", + "encoder.block.2.layer.0.SelfAttention.v.weight": "model-00001-of-00003.safetensors", + "encoder.block.2.layer.0.layer_norm.weight": "model-00001-of-00003.safetensors", + "encoder.block.2.layer.1.DenseReluDense.wi_0.weight": "model-00001-of-00003.safetensors", + "encoder.block.2.layer.1.DenseReluDense.wi_1.weight": "model-00001-of-00003.safetensors", + "encoder.block.2.layer.1.DenseReluDense.wo.weight": "model-00001-of-00003.safetensors", + "encoder.block.2.layer.1.layer_norm.weight": "model-00001-of-00003.safetensors", + "encoder.block.20.layer.0.SelfAttention.k.weight": "model-00002-of-00003.safetensors", + "encoder.block.20.layer.0.SelfAttention.o.weight": "model-00003-of-00003.safetensors", + "encoder.block.20.layer.0.SelfAttention.q.weight": "model-00002-of-00003.safetensors", + "encoder.block.20.layer.0.SelfAttention.relative_attention_bias.weight": "model-00003-of-00003.safetensors", + "encoder.block.20.layer.0.SelfAttention.v.weight": "model-00002-of-00003.safetensors", + "encoder.block.20.layer.0.layer_norm.weight": "model-00003-of-00003.safetensors", + "encoder.block.20.layer.1.DenseReluDense.wi_0.weight": "model-00003-of-00003.safetensors", + "encoder.block.20.layer.1.DenseReluDense.wi_1.weight": "model-00003-of-00003.safetensors", + "encoder.block.20.layer.1.DenseReluDense.wo.weight": "model-00003-of-00003.safetensors", + "encoder.block.20.layer.1.layer_norm.weight": "model-00003-of-00003.safetensors", + "encoder.block.21.layer.0.SelfAttention.k.weight": "model-00003-of-00003.safetensors", + "encoder.block.21.layer.0.SelfAttention.o.weight": "model-00003-of-00003.safetensors", + "encoder.block.21.layer.0.SelfAttention.q.weight": "model-00003-of-00003.safetensors", + "encoder.block.21.layer.0.SelfAttention.relative_attention_bias.weight": "model-00003-of-00003.safetensors", + "encoder.block.21.layer.0.SelfAttention.v.weight": "model-00003-of-00003.safetensors", + "encoder.block.21.layer.0.layer_norm.weight": "model-00003-of-00003.safetensors", + "encoder.block.21.layer.1.DenseReluDense.wi_0.weight": "model-00003-of-00003.safetensors", + "encoder.block.21.layer.1.DenseReluDense.wi_1.weight": "model-00003-of-00003.safetensors", + "encoder.block.21.layer.1.DenseReluDense.wo.weight": "model-00003-of-00003.safetensors", + "encoder.block.21.layer.1.layer_norm.weight": "model-00003-of-00003.safetensors", + "encoder.block.22.layer.0.SelfAttention.k.weight": "model-00003-of-00003.safetensors", + "encoder.block.22.layer.0.SelfAttention.o.weight": "model-00003-of-00003.safetensors", + "encoder.block.22.layer.0.SelfAttention.q.weight": "model-00003-of-00003.safetensors", + "encoder.block.22.layer.0.SelfAttention.relative_attention_bias.weight": "model-00003-of-00003.safetensors", + "encoder.block.22.layer.0.SelfAttention.v.weight": "model-00003-of-00003.safetensors", + "encoder.block.22.layer.0.layer_norm.weight": "model-00003-of-00003.safetensors", + "encoder.block.22.layer.1.DenseReluDense.wi_0.weight": "model-00003-of-00003.safetensors", + "encoder.block.22.layer.1.DenseReluDense.wi_1.weight": "model-00003-of-00003.safetensors", + "encoder.block.22.layer.1.DenseReluDense.wo.weight": "model-00003-of-00003.safetensors", + "encoder.block.22.layer.1.layer_norm.weight": "model-00003-of-00003.safetensors", + "encoder.block.23.layer.0.SelfAttention.k.weight": "model-00003-of-00003.safetensors", + "encoder.block.23.layer.0.SelfAttention.o.weight": "model-00003-of-00003.safetensors", + "encoder.block.23.layer.0.SelfAttention.q.weight": "model-00003-of-00003.safetensors", + "encoder.block.23.layer.0.SelfAttention.relative_attention_bias.weight": "model-00003-of-00003.safetensors", + "encoder.block.23.layer.0.SelfAttention.v.weight": "model-00003-of-00003.safetensors", + "encoder.block.23.layer.0.layer_norm.weight": "model-00003-of-00003.safetensors", + "encoder.block.23.layer.1.DenseReluDense.wi_0.weight": "model-00003-of-00003.safetensors", + "encoder.block.23.layer.1.DenseReluDense.wi_1.weight": "model-00003-of-00003.safetensors", + "encoder.block.23.layer.1.DenseReluDense.wo.weight": "model-00003-of-00003.safetensors", + "encoder.block.23.layer.1.layer_norm.weight": "model-00003-of-00003.safetensors", + "encoder.block.3.layer.0.SelfAttention.k.weight": "model-00001-of-00003.safetensors", + "encoder.block.3.layer.0.SelfAttention.o.weight": "model-00001-of-00003.safetensors", + "encoder.block.3.layer.0.SelfAttention.q.weight": "model-00001-of-00003.safetensors", + "encoder.block.3.layer.0.SelfAttention.relative_attention_bias.weight": "model-00001-of-00003.safetensors", + "encoder.block.3.layer.0.SelfAttention.v.weight": "model-00001-of-00003.safetensors", + "encoder.block.3.layer.0.layer_norm.weight": "model-00001-of-00003.safetensors", + "encoder.block.3.layer.1.DenseReluDense.wi_0.weight": "model-00001-of-00003.safetensors", + "encoder.block.3.layer.1.DenseReluDense.wi_1.weight": "model-00001-of-00003.safetensors", + "encoder.block.3.layer.1.DenseReluDense.wo.weight": "model-00001-of-00003.safetensors", + "encoder.block.3.layer.1.layer_norm.weight": "model-00001-of-00003.safetensors", + "encoder.block.4.layer.0.SelfAttention.k.weight": "model-00001-of-00003.safetensors", + "encoder.block.4.layer.0.SelfAttention.o.weight": "model-00001-of-00003.safetensors", + "encoder.block.4.layer.0.SelfAttention.q.weight": "model-00001-of-00003.safetensors", + "encoder.block.4.layer.0.SelfAttention.relative_attention_bias.weight": "model-00001-of-00003.safetensors", + "encoder.block.4.layer.0.SelfAttention.v.weight": "model-00001-of-00003.safetensors", + "encoder.block.4.layer.0.layer_norm.weight": "model-00001-of-00003.safetensors", + "encoder.block.4.layer.1.DenseReluDense.wi_0.weight": "model-00001-of-00003.safetensors", + "encoder.block.4.layer.1.DenseReluDense.wi_1.weight": "model-00001-of-00003.safetensors", + "encoder.block.4.layer.1.DenseReluDense.wo.weight": "model-00001-of-00003.safetensors", + "encoder.block.4.layer.1.layer_norm.weight": "model-00001-of-00003.safetensors", + "encoder.block.5.layer.0.SelfAttention.k.weight": "model-00001-of-00003.safetensors", + "encoder.block.5.layer.0.SelfAttention.o.weight": "model-00001-of-00003.safetensors", + "encoder.block.5.layer.0.SelfAttention.q.weight": "model-00001-of-00003.safetensors", + "encoder.block.5.layer.0.SelfAttention.relative_attention_bias.weight": "model-00001-of-00003.safetensors", + "encoder.block.5.layer.0.SelfAttention.v.weight": "model-00001-of-00003.safetensors", + "encoder.block.5.layer.0.layer_norm.weight": "model-00001-of-00003.safetensors", + "encoder.block.5.layer.1.DenseReluDense.wi_0.weight": "model-00001-of-00003.safetensors", + "encoder.block.5.layer.1.DenseReluDense.wi_1.weight": "model-00001-of-00003.safetensors", + "encoder.block.5.layer.1.DenseReluDense.wo.weight": "model-00001-of-00003.safetensors", + "encoder.block.5.layer.1.layer_norm.weight": "model-00001-of-00003.safetensors", + "encoder.block.6.layer.0.SelfAttention.k.weight": "model-00001-of-00003.safetensors", + "encoder.block.6.layer.0.SelfAttention.o.weight": "model-00001-of-00003.safetensors", + "encoder.block.6.layer.0.SelfAttention.q.weight": "model-00001-of-00003.safetensors", + "encoder.block.6.layer.0.SelfAttention.relative_attention_bias.weight": "model-00001-of-00003.safetensors", + "encoder.block.6.layer.0.SelfAttention.v.weight": "model-00001-of-00003.safetensors", + "encoder.block.6.layer.0.layer_norm.weight": "model-00001-of-00003.safetensors", + "encoder.block.6.layer.1.DenseReluDense.wi_0.weight": "model-00001-of-00003.safetensors", + "encoder.block.6.layer.1.DenseReluDense.wi_1.weight": "model-00001-of-00003.safetensors", + "encoder.block.6.layer.1.DenseReluDense.wo.weight": "model-00001-of-00003.safetensors", + "encoder.block.6.layer.1.layer_norm.weight": "model-00001-of-00003.safetensors", + "encoder.block.7.layer.0.SelfAttention.k.weight": "model-00001-of-00003.safetensors", + "encoder.block.7.layer.0.SelfAttention.o.weight": "model-00001-of-00003.safetensors", + "encoder.block.7.layer.0.SelfAttention.q.weight": "model-00001-of-00003.safetensors", + "encoder.block.7.layer.0.SelfAttention.relative_attention_bias.weight": "model-00001-of-00003.safetensors", + "encoder.block.7.layer.0.SelfAttention.v.weight": "model-00001-of-00003.safetensors", + "encoder.block.7.layer.0.layer_norm.weight": "model-00001-of-00003.safetensors", + "encoder.block.7.layer.1.DenseReluDense.wi_0.weight": "model-00002-of-00003.safetensors", + "encoder.block.7.layer.1.DenseReluDense.wi_1.weight": "model-00002-of-00003.safetensors", + "encoder.block.7.layer.1.DenseReluDense.wo.weight": "model-00002-of-00003.safetensors", + "encoder.block.7.layer.1.layer_norm.weight": "model-00002-of-00003.safetensors", + "encoder.block.8.layer.0.SelfAttention.k.weight": "model-00002-of-00003.safetensors", + "encoder.block.8.layer.0.SelfAttention.o.weight": "model-00002-of-00003.safetensors", + "encoder.block.8.layer.0.SelfAttention.q.weight": "model-00002-of-00003.safetensors", + "encoder.block.8.layer.0.SelfAttention.relative_attention_bias.weight": "model-00002-of-00003.safetensors", + "encoder.block.8.layer.0.SelfAttention.v.weight": "model-00002-of-00003.safetensors", + "encoder.block.8.layer.0.layer_norm.weight": "model-00002-of-00003.safetensors", + "encoder.block.8.layer.1.DenseReluDense.wi_0.weight": "model-00002-of-00003.safetensors", + "encoder.block.8.layer.1.DenseReluDense.wi_1.weight": "model-00002-of-00003.safetensors", + "encoder.block.8.layer.1.DenseReluDense.wo.weight": "model-00002-of-00003.safetensors", + "encoder.block.8.layer.1.layer_norm.weight": "model-00002-of-00003.safetensors", + "encoder.block.9.layer.0.SelfAttention.k.weight": "model-00002-of-00003.safetensors", + "encoder.block.9.layer.0.SelfAttention.o.weight": "model-00002-of-00003.safetensors", + "encoder.block.9.layer.0.SelfAttention.q.weight": "model-00002-of-00003.safetensors", + "encoder.block.9.layer.0.SelfAttention.relative_attention_bias.weight": "model-00002-of-00003.safetensors", + "encoder.block.9.layer.0.SelfAttention.v.weight": "model-00002-of-00003.safetensors", + "encoder.block.9.layer.0.layer_norm.weight": "model-00002-of-00003.safetensors", + "encoder.block.9.layer.1.DenseReluDense.wi_0.weight": "model-00002-of-00003.safetensors", + "encoder.block.9.layer.1.DenseReluDense.wi_1.weight": "model-00002-of-00003.safetensors", + "encoder.block.9.layer.1.DenseReluDense.wo.weight": "model-00002-of-00003.safetensors", + "encoder.block.9.layer.1.layer_norm.weight": "model-00002-of-00003.safetensors", + "encoder.final_layer_norm.weight": "model-00003-of-00003.safetensors", + "shared.weight": "model-00001-of-00003.safetensors" + } +} diff --git a/Wan2.2-TI2V-5B-Diffusers/tokenizer/special_tokens_map.json b/Wan2.2-TI2V-5B-Diffusers/tokenizer/special_tokens_map.json new file mode 100644 index 0000000000000000000000000000000000000000..2ed25bf989a28d20b5d4b5822fbc24666d12a6f7 --- /dev/null +++ b/Wan2.2-TI2V-5B-Diffusers/tokenizer/special_tokens_map.json @@ -0,0 +1,332 @@ +{ + "additional_special_tokens": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "bos_token": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "eos_token": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "pad_token": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "unk_token": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + } +} diff --git a/Wan2.2-TI2V-5B-Diffusers/tokenizer/spiece.model b/Wan2.2-TI2V-5B-Diffusers/tokenizer/spiece.model new file mode 100644 index 0000000000000000000000000000000000000000..2fe5f347e9f9367585589ae89e997dfbd5cf802c --- /dev/null +++ b/Wan2.2-TI2V-5B-Diffusers/tokenizer/spiece.model @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3909a67b780650b35cf529ac782ad2b6b26e6d1f849d3fbb6a872905f452458 +size 4548313 diff --git a/Wan2.2-TI2V-5B-Diffusers/tokenizer/tokenizer.json b/Wan2.2-TI2V-5B-Diffusers/tokenizer/tokenizer.json new file mode 100644 index 0000000000000000000000000000000000000000..9c6427ab2f801c942da4ee9740f1a750d3978a3b --- /dev/null +++ b/Wan2.2-TI2V-5B-Diffusers/tokenizer/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20a46ac256746594ed7e1e3ef733b83fbc5a6f0922aa7480eda961743de080ef +size 16837459 diff --git a/Wan2.2-TI2V-5B-Diffusers/tokenizer/tokenizer_config.json b/Wan2.2-TI2V-5B-Diffusers/tokenizer/tokenizer_config.json new file mode 100644 index 0000000000000000000000000000000000000000..09d434f9457238f697f4c208aab47f58caa15bfe --- /dev/null +++ b/Wan2.2-TI2V-5B-Diffusers/tokenizer/tokenizer_config.json @@ -0,0 +1,2749 @@ +{ + "added_tokens_decoder": { + "0": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "1": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "2": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "3": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256000": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256001": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256002": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256003": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256004": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256005": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256006": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256007": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256008": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256009": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256010": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256011": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256012": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256013": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256014": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256015": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256016": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256017": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256018": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256019": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256020": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256021": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256022": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256023": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256024": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256025": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256026": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256027": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256028": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256029": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256030": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256031": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256032": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256033": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256034": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256035": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256036": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256037": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256038": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256039": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256040": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256041": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256042": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256043": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256044": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256045": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256046": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256047": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256048": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256049": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256050": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256051": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256052": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256053": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256054": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256055": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256056": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256057": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256058": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256059": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256060": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256061": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256062": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256063": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256064": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256065": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256066": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256067": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256068": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256069": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256070": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256071": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256072": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256073": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256074": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256075": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256076": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256077": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256078": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256079": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256080": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256081": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256082": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256083": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256084": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256085": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256086": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256087": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256088": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256089": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256090": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256091": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256092": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256093": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256094": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256095": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256096": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256097": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256098": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256099": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256100": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256101": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256102": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256103": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256104": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256105": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256106": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256107": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256108": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256109": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256110": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256111": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256112": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256113": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256114": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256115": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256116": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256117": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256118": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256119": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256120": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256121": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256122": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256123": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256124": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256125": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256126": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256127": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256128": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256129": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256130": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256131": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256132": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256133": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256134": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256135": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256136": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256137": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256138": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256139": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256140": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256141": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256142": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256143": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256144": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256145": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256146": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256147": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256148": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256149": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256150": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256151": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256152": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256153": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256154": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256155": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256156": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256157": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256158": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256159": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256160": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256161": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256162": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256163": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256164": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256165": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256166": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256167": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256168": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256169": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256170": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256171": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256172": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256173": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256174": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256175": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256176": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256177": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256178": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256179": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256180": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256181": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256182": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256183": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256184": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256185": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256186": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256187": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256188": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256189": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256190": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256191": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256192": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256193": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256194": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256195": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256196": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256197": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256198": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256199": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256200": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256201": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256202": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256203": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256204": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256205": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256206": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256207": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256208": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256209": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256210": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256211": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256212": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256213": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256214": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256215": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256216": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256217": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256218": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256219": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256220": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256221": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256222": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256223": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256224": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256225": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256226": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256227": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256228": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256229": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256230": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256231": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256232": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256233": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256234": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256235": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256236": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256237": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256238": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256239": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256240": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256241": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256242": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256243": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256244": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256245": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256246": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256247": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256248": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256249": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256250": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256251": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256252": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256253": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256254": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256255": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256256": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256257": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256258": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256259": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256260": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256261": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256262": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256263": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256264": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256265": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256266": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256267": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256268": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256269": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256270": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256271": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256272": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256273": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256274": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256275": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256276": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256277": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256278": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256279": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256280": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256281": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256282": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256283": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256284": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256285": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256286": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256287": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256288": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256289": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256290": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256291": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256292": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256293": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256294": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256295": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256296": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256297": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256298": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256299": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + } + }, + "additional_special_tokens": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "bos_token": "", + "clean_up_tokenization_spaces": true, + "eos_token": "", + "extra_ids": 300, + "extra_special_tokens": {}, + "model_max_length": 1000000000000000019884624838656, + "pad_token": "", + "sp_model_kwargs": {}, + "spaces_between_special_tokens": false, + "tokenizer_class": "T5Tokenizer", + "unk_token": "" +} diff --git a/Wan2.2-TI2V-5B-Diffusers/transformer/config.json b/Wan2.2-TI2V-5B-Diffusers/transformer/config.json new file mode 100644 index 0000000000000000000000000000000000000000..8180887e8ed86e4fd842824fb15fcabf43d19512 --- /dev/null +++ b/Wan2.2-TI2V-5B-Diffusers/transformer/config.json @@ -0,0 +1,24 @@ +{ + "_class_name": "WanTransformer3DModel", + "_diffusers_version": "0.35.0.dev0", + "added_kv_proj_dim": null, + "attention_head_dim": 128, + "cross_attn_norm": true, + "eps": 1e-06, + "ffn_dim": 14336, + "freq_dim": 256, + "image_dim": null, + "in_channels": 48, + "num_attention_heads": 24, + "num_layers": 30, + "out_channels": 48, + "patch_size": [ + 1, + 2, + 2 + ], + "pos_embed_seq_len": null, + "qk_norm": "rms_norm_across_heads", + "rope_max_seq_len": 1024, + "text_dim": 4096 +} diff --git a/Wan2.2-TI2V-5B-Diffusers/transformer/diffusion_pytorch_model-00001-of-00005.safetensors b/Wan2.2-TI2V-5B-Diffusers/transformer/diffusion_pytorch_model-00001-of-00005.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..5f2663afa6a380303681b8d56fb5420dc94a02a4 --- /dev/null +++ b/Wan2.2-TI2V-5B-Diffusers/transformer/diffusion_pytorch_model-00001-of-00005.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:511bec832a201caa410d09c5ce7dbbf8ad2708c345d82038f684fc74cce982be +size 4978254344 diff --git a/Wan2.2-TI2V-5B-Diffusers/transformer/diffusion_pytorch_model-00002-of-00005.safetensors b/Wan2.2-TI2V-5B-Diffusers/transformer/diffusion_pytorch_model-00002-of-00005.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..6a7b8f823a5056fc35ad31384444e82ef590d287 --- /dev/null +++ b/Wan2.2-TI2V-5B-Diffusers/transformer/diffusion_pytorch_model-00002-of-00005.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c42724912b1911429125dc50c0e9a49ccbada5a601b657d4ed2e15e7597c193 +size 4846784976 diff --git a/Wan2.2-TI2V-5B-Diffusers/transformer/diffusion_pytorch_model-00003-of-00005.safetensors b/Wan2.2-TI2V-5B-Diffusers/transformer/diffusion_pytorch_model-00003-of-00005.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..ea8adff51d7c5af5bd35218cea9a71e7fb9575f8 --- /dev/null +++ b/Wan2.2-TI2V-5B-Diffusers/transformer/diffusion_pytorch_model-00003-of-00005.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9c3d0c76de786566382f8258101fea973ae37681c6e9fe0e5fe1fb93b806424 +size 4972658392 diff --git a/Wan2.2-TI2V-5B-Diffusers/transformer/diffusion_pytorch_model-00004-of-00005.safetensors b/Wan2.2-TI2V-5B-Diffusers/transformer/diffusion_pytorch_model-00004-of-00005.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..560eb932bb3ca510154e7dbf06464d8deb1367ce --- /dev/null +++ b/Wan2.2-TI2V-5B-Diffusers/transformer/diffusion_pytorch_model-00004-of-00005.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a331121771790939678db6f585553fd5184609f7d02593c699a4d241b0d834c5 +size 4846785080 diff --git a/Wan2.2-TI2V-5B-Diffusers/transformer/diffusion_pytorch_model-00005-of-00005.safetensors b/Wan2.2-TI2V-5B-Diffusers/transformer/diffusion_pytorch_model-00005-of-00005.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..f1e5de6d8c24ec7b760cde5e4459745dae3eb16d --- /dev/null +++ b/Wan2.2-TI2V-5B-Diffusers/transformer/diffusion_pytorch_model-00005-of-00005.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78b655685c47efdb2349f36826bb101264e9f212a16325d584aeb5f53c88e719 +size 354751840 diff --git a/Wan2.2-TI2V-5B-Diffusers/transformer/diffusion_pytorch_model.safetensors.index.json b/Wan2.2-TI2V-5B-Diffusers/transformer/diffusion_pytorch_model.safetensors.index.json new file mode 100644 index 0000000000000000000000000000000000000000..4ced518ff3eb023a0477eeab55f2a4d45d6fd43a --- /dev/null +++ b/Wan2.2-TI2V-5B-Diffusers/transformer/diffusion_pytorch_model.safetensors.index.json @@ -0,0 +1,832 @@ +{ + "metadata": { + "total_size": 19999150848 + }, + "weight_map": { + "blocks.0.attn1.norm_k.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.0.attn1.norm_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.0.attn1.to_k.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.0.attn1.to_k.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.0.attn1.to_out.0.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.0.attn1.to_out.0.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.0.attn1.to_q.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.0.attn1.to_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.0.attn1.to_v.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.0.attn1.to_v.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.0.attn2.norm_k.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.0.attn2.norm_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.0.attn2.to_k.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.0.attn2.to_k.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.0.attn2.to_out.0.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.0.attn2.to_out.0.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.0.attn2.to_q.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.0.attn2.to_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.0.attn2.to_v.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.0.attn2.to_v.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.0.ffn.net.0.proj.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.0.ffn.net.0.proj.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.0.ffn.net.2.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.0.ffn.net.2.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.0.norm2.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.0.norm2.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.0.scale_shift_table": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.1.attn1.norm_k.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.1.attn1.norm_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.1.attn1.to_k.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.1.attn1.to_k.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.1.attn1.to_out.0.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.1.attn1.to_out.0.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.1.attn1.to_q.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.1.attn1.to_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.1.attn1.to_v.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.1.attn1.to_v.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.1.attn2.norm_k.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.1.attn2.norm_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.1.attn2.to_k.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.1.attn2.to_k.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.1.attn2.to_out.0.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.1.attn2.to_out.0.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.1.attn2.to_q.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.1.attn2.to_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.1.attn2.to_v.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.1.attn2.to_v.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.1.ffn.net.0.proj.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.1.ffn.net.0.proj.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.1.ffn.net.2.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.1.ffn.net.2.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.1.norm2.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.1.norm2.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.1.scale_shift_table": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.10.attn1.norm_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.10.attn1.norm_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.10.attn1.to_k.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.10.attn1.to_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.10.attn1.to_out.0.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.10.attn1.to_out.0.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.10.attn1.to_q.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.10.attn1.to_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.10.attn1.to_v.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.10.attn1.to_v.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.10.attn2.norm_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.10.attn2.norm_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.10.attn2.to_k.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.10.attn2.to_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.10.attn2.to_out.0.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.10.attn2.to_out.0.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.10.attn2.to_q.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.10.attn2.to_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.10.attn2.to_v.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.10.attn2.to_v.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.10.ffn.net.0.proj.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.10.ffn.net.0.proj.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.10.ffn.net.2.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.10.ffn.net.2.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.10.norm2.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.10.norm2.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.10.scale_shift_table": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.11.attn1.norm_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.11.attn1.norm_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.11.attn1.to_k.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.11.attn1.to_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.11.attn1.to_out.0.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.11.attn1.to_out.0.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.11.attn1.to_q.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.11.attn1.to_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.11.attn1.to_v.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.11.attn1.to_v.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.11.attn2.norm_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.11.attn2.norm_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.11.attn2.to_k.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.11.attn2.to_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.11.attn2.to_out.0.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.11.attn2.to_out.0.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.11.attn2.to_q.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.11.attn2.to_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.11.attn2.to_v.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.11.attn2.to_v.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.11.ffn.net.0.proj.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.11.ffn.net.0.proj.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.11.ffn.net.2.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.11.ffn.net.2.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.11.norm2.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.11.norm2.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.11.scale_shift_table": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.12.attn1.norm_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.12.attn1.norm_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.12.attn1.to_k.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.12.attn1.to_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.12.attn1.to_out.0.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.12.attn1.to_out.0.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.12.attn1.to_q.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.12.attn1.to_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.12.attn1.to_v.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.12.attn1.to_v.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.12.attn2.norm_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.12.attn2.norm_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.12.attn2.to_k.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.12.attn2.to_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.12.attn2.to_out.0.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.12.attn2.to_out.0.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.12.attn2.to_q.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.12.attn2.to_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.12.attn2.to_v.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.12.attn2.to_v.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.12.ffn.net.0.proj.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.12.ffn.net.0.proj.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.12.ffn.net.2.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.12.ffn.net.2.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.12.norm2.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.12.norm2.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.12.scale_shift_table": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.13.attn1.norm_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.13.attn1.norm_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.13.attn1.to_k.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.13.attn1.to_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.13.attn1.to_out.0.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.13.attn1.to_out.0.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.13.attn1.to_q.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.13.attn1.to_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.13.attn1.to_v.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.13.attn1.to_v.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.13.attn2.norm_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.13.attn2.norm_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.13.attn2.to_k.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.13.attn2.to_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.13.attn2.to_out.0.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.13.attn2.to_out.0.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.13.attn2.to_q.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.13.attn2.to_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.13.attn2.to_v.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.13.attn2.to_v.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.13.ffn.net.0.proj.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.13.ffn.net.0.proj.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.13.ffn.net.2.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.13.ffn.net.2.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.13.norm2.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.13.norm2.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.13.scale_shift_table": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.14.attn1.norm_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.14.attn1.norm_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.14.attn1.to_k.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.14.attn1.to_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.14.attn1.to_out.0.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.14.attn1.to_out.0.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.14.attn1.to_q.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.14.attn1.to_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.14.attn1.to_v.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.14.attn1.to_v.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.14.attn2.norm_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.14.attn2.norm_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.14.attn2.to_k.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.14.attn2.to_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.14.attn2.to_out.0.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.14.attn2.to_out.0.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.14.attn2.to_q.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.14.attn2.to_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.14.attn2.to_v.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.14.attn2.to_v.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.14.ffn.net.0.proj.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.14.ffn.net.0.proj.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.14.ffn.net.2.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.14.ffn.net.2.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.14.norm2.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.14.norm2.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.14.scale_shift_table": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.15.attn1.norm_k.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.15.attn1.norm_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.15.attn1.to_k.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.15.attn1.to_k.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.15.attn1.to_out.0.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.15.attn1.to_out.0.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.15.attn1.to_q.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.15.attn1.to_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.15.attn1.to_v.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.15.attn1.to_v.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.15.attn2.norm_k.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.15.attn2.norm_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.15.attn2.to_k.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.15.attn2.to_k.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.15.attn2.to_out.0.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.15.attn2.to_out.0.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.15.attn2.to_q.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.15.attn2.to_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.15.attn2.to_v.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.15.attn2.to_v.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.15.ffn.net.0.proj.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.15.ffn.net.0.proj.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.15.ffn.net.2.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.15.ffn.net.2.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.15.norm2.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.15.norm2.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.15.scale_shift_table": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.16.attn1.norm_k.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.16.attn1.norm_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.16.attn1.to_k.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.16.attn1.to_k.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.16.attn1.to_out.0.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.16.attn1.to_out.0.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.16.attn1.to_q.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.16.attn1.to_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.16.attn1.to_v.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.16.attn1.to_v.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.16.attn2.norm_k.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.16.attn2.norm_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.16.attn2.to_k.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.16.attn2.to_k.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.16.attn2.to_out.0.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.16.attn2.to_out.0.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.16.attn2.to_q.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.16.attn2.to_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.16.attn2.to_v.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.16.attn2.to_v.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.16.ffn.net.0.proj.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.16.ffn.net.0.proj.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.16.ffn.net.2.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.16.ffn.net.2.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.16.norm2.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.16.norm2.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.16.scale_shift_table": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.17.attn1.norm_k.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.17.attn1.norm_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.17.attn1.to_k.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.17.attn1.to_k.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.17.attn1.to_out.0.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.17.attn1.to_out.0.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.17.attn1.to_q.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.17.attn1.to_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.17.attn1.to_v.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.17.attn1.to_v.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.17.attn2.norm_k.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.17.attn2.norm_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.17.attn2.to_k.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.17.attn2.to_k.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.17.attn2.to_out.0.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.17.attn2.to_out.0.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.17.attn2.to_q.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.17.attn2.to_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.17.attn2.to_v.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.17.attn2.to_v.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.17.ffn.net.0.proj.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.17.ffn.net.0.proj.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.17.ffn.net.2.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.17.ffn.net.2.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.17.norm2.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.17.norm2.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.17.scale_shift_table": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.18.attn1.norm_k.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.18.attn1.norm_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.18.attn1.to_k.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.18.attn1.to_k.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.18.attn1.to_out.0.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.18.attn1.to_out.0.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.18.attn1.to_q.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.18.attn1.to_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.18.attn1.to_v.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.18.attn1.to_v.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.18.attn2.norm_k.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.18.attn2.norm_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.18.attn2.to_k.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.18.attn2.to_k.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.18.attn2.to_out.0.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.18.attn2.to_out.0.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.18.attn2.to_q.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.18.attn2.to_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.18.attn2.to_v.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.18.attn2.to_v.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.18.ffn.net.0.proj.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.18.ffn.net.0.proj.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.18.ffn.net.2.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.18.ffn.net.2.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.18.norm2.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.18.norm2.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.18.scale_shift_table": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.19.attn1.norm_k.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.19.attn1.norm_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.19.attn1.to_k.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.19.attn1.to_k.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.19.attn1.to_out.0.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.19.attn1.to_out.0.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.19.attn1.to_q.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.19.attn1.to_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.19.attn1.to_v.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.19.attn1.to_v.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.19.attn2.norm_k.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.19.attn2.norm_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.19.attn2.to_k.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.19.attn2.to_k.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.19.attn2.to_out.0.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.19.attn2.to_out.0.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.19.attn2.to_q.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.19.attn2.to_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.19.attn2.to_v.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.19.attn2.to_v.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.19.ffn.net.0.proj.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.19.ffn.net.0.proj.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.19.ffn.net.2.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.19.ffn.net.2.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.19.norm2.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.19.norm2.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.19.scale_shift_table": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.2.attn1.norm_k.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.2.attn1.norm_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.2.attn1.to_k.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.2.attn1.to_k.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.2.attn1.to_out.0.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.2.attn1.to_out.0.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.2.attn1.to_q.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.2.attn1.to_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.2.attn1.to_v.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.2.attn1.to_v.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.2.attn2.norm_k.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.2.attn2.norm_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.2.attn2.to_k.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.2.attn2.to_k.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.2.attn2.to_out.0.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.2.attn2.to_out.0.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.2.attn2.to_q.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.2.attn2.to_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.2.attn2.to_v.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.2.attn2.to_v.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.2.ffn.net.0.proj.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.2.ffn.net.0.proj.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.2.ffn.net.2.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.2.ffn.net.2.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.2.norm2.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.2.norm2.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.2.scale_shift_table": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.20.attn1.norm_k.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.20.attn1.norm_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.20.attn1.to_k.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.20.attn1.to_k.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.20.attn1.to_out.0.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.20.attn1.to_out.0.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.20.attn1.to_q.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.20.attn1.to_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.20.attn1.to_v.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.20.attn1.to_v.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.20.attn2.norm_k.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.20.attn2.norm_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.20.attn2.to_k.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.20.attn2.to_k.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.20.attn2.to_out.0.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.20.attn2.to_out.0.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.20.attn2.to_q.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.20.attn2.to_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.20.attn2.to_v.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.20.attn2.to_v.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.20.ffn.net.0.proj.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.20.ffn.net.0.proj.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.20.ffn.net.2.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.20.ffn.net.2.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.20.norm2.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.20.norm2.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.20.scale_shift_table": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.21.attn1.norm_k.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.21.attn1.norm_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.21.attn1.to_k.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.21.attn1.to_k.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.21.attn1.to_out.0.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.21.attn1.to_out.0.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.21.attn1.to_q.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.21.attn1.to_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.21.attn1.to_v.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.21.attn1.to_v.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.21.attn2.norm_k.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.21.attn2.norm_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.21.attn2.to_k.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.21.attn2.to_k.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.21.attn2.to_out.0.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.21.attn2.to_out.0.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.21.attn2.to_q.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.21.attn2.to_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.21.attn2.to_v.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.21.attn2.to_v.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.21.ffn.net.0.proj.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.21.ffn.net.0.proj.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.21.ffn.net.2.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.21.ffn.net.2.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.21.norm2.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.21.norm2.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.21.scale_shift_table": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.22.attn1.norm_k.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.22.attn1.norm_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.22.attn1.to_k.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.22.attn1.to_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.22.attn1.to_out.0.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.22.attn1.to_out.0.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.22.attn1.to_q.bias": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.22.attn1.to_q.weight": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.22.attn1.to_v.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.22.attn1.to_v.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.22.attn2.norm_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.22.attn2.norm_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.22.attn2.to_k.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.22.attn2.to_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.22.attn2.to_out.0.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.22.attn2.to_out.0.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.22.attn2.to_q.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.22.attn2.to_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.22.attn2.to_v.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.22.attn2.to_v.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.22.ffn.net.0.proj.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.22.ffn.net.0.proj.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.22.ffn.net.2.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.22.ffn.net.2.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.22.norm2.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.22.norm2.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.22.scale_shift_table": "diffusion_pytorch_model-00003-of-00005.safetensors", + "blocks.23.attn1.norm_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.23.attn1.norm_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.23.attn1.to_k.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.23.attn1.to_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.23.attn1.to_out.0.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.23.attn1.to_out.0.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.23.attn1.to_q.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.23.attn1.to_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.23.attn1.to_v.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.23.attn1.to_v.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.23.attn2.norm_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.23.attn2.norm_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.23.attn2.to_k.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.23.attn2.to_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.23.attn2.to_out.0.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.23.attn2.to_out.0.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.23.attn2.to_q.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.23.attn2.to_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.23.attn2.to_v.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.23.attn2.to_v.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.23.ffn.net.0.proj.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.23.ffn.net.0.proj.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.23.ffn.net.2.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.23.ffn.net.2.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.23.norm2.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.23.norm2.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.23.scale_shift_table": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.24.attn1.norm_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.24.attn1.norm_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.24.attn1.to_k.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.24.attn1.to_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.24.attn1.to_out.0.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.24.attn1.to_out.0.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.24.attn1.to_q.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.24.attn1.to_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.24.attn1.to_v.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.24.attn1.to_v.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.24.attn2.norm_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.24.attn2.norm_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.24.attn2.to_k.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.24.attn2.to_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.24.attn2.to_out.0.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.24.attn2.to_out.0.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.24.attn2.to_q.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.24.attn2.to_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.24.attn2.to_v.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.24.attn2.to_v.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.24.ffn.net.0.proj.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.24.ffn.net.0.proj.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.24.ffn.net.2.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.24.ffn.net.2.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.24.norm2.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.24.norm2.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.24.scale_shift_table": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.25.attn1.norm_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.25.attn1.norm_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.25.attn1.to_k.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.25.attn1.to_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.25.attn1.to_out.0.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.25.attn1.to_out.0.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.25.attn1.to_q.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.25.attn1.to_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.25.attn1.to_v.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.25.attn1.to_v.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.25.attn2.norm_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.25.attn2.norm_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.25.attn2.to_k.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.25.attn2.to_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.25.attn2.to_out.0.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.25.attn2.to_out.0.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.25.attn2.to_q.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.25.attn2.to_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.25.attn2.to_v.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.25.attn2.to_v.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.25.ffn.net.0.proj.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.25.ffn.net.0.proj.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.25.ffn.net.2.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.25.ffn.net.2.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.25.norm2.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.25.norm2.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.25.scale_shift_table": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.26.attn1.norm_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.26.attn1.norm_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.26.attn1.to_k.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.26.attn1.to_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.26.attn1.to_out.0.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.26.attn1.to_out.0.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.26.attn1.to_q.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.26.attn1.to_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.26.attn1.to_v.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.26.attn1.to_v.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.26.attn2.norm_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.26.attn2.norm_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.26.attn2.to_k.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.26.attn2.to_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.26.attn2.to_out.0.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.26.attn2.to_out.0.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.26.attn2.to_q.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.26.attn2.to_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.26.attn2.to_v.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.26.attn2.to_v.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.26.ffn.net.0.proj.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.26.ffn.net.0.proj.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.26.ffn.net.2.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.26.ffn.net.2.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.26.norm2.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.26.norm2.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.26.scale_shift_table": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.27.attn1.norm_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.27.attn1.norm_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.27.attn1.to_k.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.27.attn1.to_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.27.attn1.to_out.0.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.27.attn1.to_out.0.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.27.attn1.to_q.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.27.attn1.to_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.27.attn1.to_v.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.27.attn1.to_v.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.27.attn2.norm_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.27.attn2.norm_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.27.attn2.to_k.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.27.attn2.to_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.27.attn2.to_out.0.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.27.attn2.to_out.0.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.27.attn2.to_q.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.27.attn2.to_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.27.attn2.to_v.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.27.attn2.to_v.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.27.ffn.net.0.proj.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.27.ffn.net.0.proj.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.27.ffn.net.2.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.27.ffn.net.2.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.27.norm2.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.27.norm2.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.27.scale_shift_table": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.28.attn1.norm_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.28.attn1.norm_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.28.attn1.to_k.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.28.attn1.to_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.28.attn1.to_out.0.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.28.attn1.to_out.0.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.28.attn1.to_q.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.28.attn1.to_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.28.attn1.to_v.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.28.attn1.to_v.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.28.attn2.norm_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.28.attn2.norm_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.28.attn2.to_k.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.28.attn2.to_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.28.attn2.to_out.0.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.28.attn2.to_out.0.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.28.attn2.to_q.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.28.attn2.to_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.28.attn2.to_v.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.28.attn2.to_v.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.28.ffn.net.0.proj.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.28.ffn.net.0.proj.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.28.ffn.net.2.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.28.ffn.net.2.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.28.norm2.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.28.norm2.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.28.scale_shift_table": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.29.attn1.norm_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.29.attn1.norm_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.29.attn1.to_k.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.29.attn1.to_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.29.attn1.to_out.0.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.29.attn1.to_out.0.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.29.attn1.to_q.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.29.attn1.to_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.29.attn1.to_v.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.29.attn1.to_v.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.29.attn2.norm_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.29.attn2.norm_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.29.attn2.to_k.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.29.attn2.to_k.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.29.attn2.to_out.0.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.29.attn2.to_out.0.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.29.attn2.to_q.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.29.attn2.to_q.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.29.attn2.to_v.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.29.attn2.to_v.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.29.ffn.net.0.proj.bias": "diffusion_pytorch_model-00005-of-00005.safetensors", + "blocks.29.ffn.net.0.proj.weight": "diffusion_pytorch_model-00005-of-00005.safetensors", + "blocks.29.ffn.net.2.bias": "diffusion_pytorch_model-00005-of-00005.safetensors", + "blocks.29.ffn.net.2.weight": "diffusion_pytorch_model-00005-of-00005.safetensors", + "blocks.29.norm2.bias": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.29.norm2.weight": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.29.scale_shift_table": "diffusion_pytorch_model-00004-of-00005.safetensors", + "blocks.3.attn1.norm_k.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.3.attn1.norm_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.3.attn1.to_k.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.3.attn1.to_k.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.3.attn1.to_out.0.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.3.attn1.to_out.0.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.3.attn1.to_q.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.3.attn1.to_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.3.attn1.to_v.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.3.attn1.to_v.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.3.attn2.norm_k.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.3.attn2.norm_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.3.attn2.to_k.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.3.attn2.to_k.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.3.attn2.to_out.0.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.3.attn2.to_out.0.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.3.attn2.to_q.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.3.attn2.to_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.3.attn2.to_v.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.3.attn2.to_v.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.3.ffn.net.0.proj.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.3.ffn.net.0.proj.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.3.ffn.net.2.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.3.ffn.net.2.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.3.norm2.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.3.norm2.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.3.scale_shift_table": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.4.attn1.norm_k.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.4.attn1.norm_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.4.attn1.to_k.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.4.attn1.to_k.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.4.attn1.to_out.0.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.4.attn1.to_out.0.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.4.attn1.to_q.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.4.attn1.to_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.4.attn1.to_v.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.4.attn1.to_v.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.4.attn2.norm_k.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.4.attn2.norm_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.4.attn2.to_k.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.4.attn2.to_k.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.4.attn2.to_out.0.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.4.attn2.to_out.0.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.4.attn2.to_q.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.4.attn2.to_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.4.attn2.to_v.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.4.attn2.to_v.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.4.ffn.net.0.proj.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.4.ffn.net.0.proj.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.4.ffn.net.2.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.4.ffn.net.2.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.4.norm2.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.4.norm2.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.4.scale_shift_table": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.5.attn1.norm_k.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.5.attn1.norm_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.5.attn1.to_k.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.5.attn1.to_k.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.5.attn1.to_out.0.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.5.attn1.to_out.0.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.5.attn1.to_q.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.5.attn1.to_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.5.attn1.to_v.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.5.attn1.to_v.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.5.attn2.norm_k.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.5.attn2.norm_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.5.attn2.to_k.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.5.attn2.to_k.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.5.attn2.to_out.0.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.5.attn2.to_out.0.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.5.attn2.to_q.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.5.attn2.to_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.5.attn2.to_v.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.5.attn2.to_v.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.5.ffn.net.0.proj.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.5.ffn.net.0.proj.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.5.ffn.net.2.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.5.ffn.net.2.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.5.norm2.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.5.norm2.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.5.scale_shift_table": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.6.attn1.norm_k.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.6.attn1.norm_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.6.attn1.to_k.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.6.attn1.to_k.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.6.attn1.to_out.0.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.6.attn1.to_out.0.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.6.attn1.to_q.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.6.attn1.to_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.6.attn1.to_v.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.6.attn1.to_v.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.6.attn2.norm_k.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.6.attn2.norm_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.6.attn2.to_k.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.6.attn2.to_k.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.6.attn2.to_out.0.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.6.attn2.to_out.0.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.6.attn2.to_q.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.6.attn2.to_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.6.attn2.to_v.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.6.attn2.to_v.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.6.ffn.net.0.proj.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.6.ffn.net.0.proj.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.6.ffn.net.2.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.6.ffn.net.2.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.6.norm2.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.6.norm2.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.6.scale_shift_table": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.7.attn1.norm_k.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.7.attn1.norm_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.7.attn1.to_k.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.7.attn1.to_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.7.attn1.to_out.0.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.7.attn1.to_out.0.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.7.attn1.to_q.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.7.attn1.to_q.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.7.attn1.to_v.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.7.attn1.to_v.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.7.attn2.norm_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.7.attn2.norm_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.7.attn2.to_k.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.7.attn2.to_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.7.attn2.to_out.0.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.7.attn2.to_out.0.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.7.attn2.to_q.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.7.attn2.to_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.7.attn2.to_v.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.7.attn2.to_v.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.7.ffn.net.0.proj.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.7.ffn.net.0.proj.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.7.ffn.net.2.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.7.ffn.net.2.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.7.norm2.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.7.norm2.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.7.scale_shift_table": "diffusion_pytorch_model-00001-of-00005.safetensors", + "blocks.8.attn1.norm_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.8.attn1.norm_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.8.attn1.to_k.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.8.attn1.to_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.8.attn1.to_out.0.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.8.attn1.to_out.0.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.8.attn1.to_q.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.8.attn1.to_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.8.attn1.to_v.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.8.attn1.to_v.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.8.attn2.norm_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.8.attn2.norm_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.8.attn2.to_k.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.8.attn2.to_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.8.attn2.to_out.0.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.8.attn2.to_out.0.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.8.attn2.to_q.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.8.attn2.to_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.8.attn2.to_v.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.8.attn2.to_v.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.8.ffn.net.0.proj.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.8.ffn.net.0.proj.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.8.ffn.net.2.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.8.ffn.net.2.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.8.norm2.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.8.norm2.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.8.scale_shift_table": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.9.attn1.norm_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.9.attn1.norm_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.9.attn1.to_k.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.9.attn1.to_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.9.attn1.to_out.0.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.9.attn1.to_out.0.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.9.attn1.to_q.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.9.attn1.to_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.9.attn1.to_v.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.9.attn1.to_v.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.9.attn2.norm_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.9.attn2.norm_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.9.attn2.to_k.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.9.attn2.to_k.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.9.attn2.to_out.0.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.9.attn2.to_out.0.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.9.attn2.to_q.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.9.attn2.to_q.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.9.attn2.to_v.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.9.attn2.to_v.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.9.ffn.net.0.proj.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.9.ffn.net.0.proj.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.9.ffn.net.2.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.9.ffn.net.2.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.9.norm2.bias": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.9.norm2.weight": "diffusion_pytorch_model-00002-of-00005.safetensors", + "blocks.9.scale_shift_table": "diffusion_pytorch_model-00002-of-00005.safetensors", + "condition_embedder.text_embedder.linear_1.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "condition_embedder.text_embedder.linear_1.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "condition_embedder.text_embedder.linear_2.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "condition_embedder.text_embedder.linear_2.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "condition_embedder.time_embedder.linear_1.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "condition_embedder.time_embedder.linear_1.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "condition_embedder.time_embedder.linear_2.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "condition_embedder.time_embedder.linear_2.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "condition_embedder.time_proj.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "condition_embedder.time_proj.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "patch_embedding.bias": "diffusion_pytorch_model-00001-of-00005.safetensors", + "patch_embedding.weight": "diffusion_pytorch_model-00001-of-00005.safetensors", + "proj_out.bias": "diffusion_pytorch_model-00005-of-00005.safetensors", + "proj_out.weight": "diffusion_pytorch_model-00005-of-00005.safetensors", + "scale_shift_table": "diffusion_pytorch_model-00001-of-00005.safetensors" + } +} diff --git a/Wan2.2-TI2V-5B-Diffusers/vae/config.json b/Wan2.2-TI2V-5B-Diffusers/vae/config.json new file mode 100644 index 0000000000000000000000000000000000000000..29f65bc63e9daadb95e4c1a8344d162be4b7d533 --- /dev/null +++ b/Wan2.2-TI2V-5B-Diffusers/vae/config.json @@ -0,0 +1,128 @@ +{ + "_class_name": "AutoencoderKLWan", + "_diffusers_version": "0.35.0.dev0", + "attn_scales": [], + "base_dim": 160, + "clip_output": false, + "decoder_base_dim": 256, + "dim_mult": [ + 1, + 2, + 4, + 4 + ], + "dropout": 0.0, + "in_channels": 12, + "is_residual": true, + "latents_mean": [ + -0.2289, + -0.0052, + -0.1323, + -0.2339, + -0.2799, + 0.0174, + 0.1838, + 0.1557, + -0.1382, + 0.0542, + 0.2813, + 0.0891, + 0.157, + -0.0098, + 0.0375, + -0.1825, + -0.2246, + -0.1207, + -0.0698, + 0.5109, + 0.2665, + -0.2108, + -0.2158, + 0.2502, + -0.2055, + -0.0322, + 0.1109, + 0.1567, + -0.0729, + 0.0899, + -0.2799, + -0.123, + -0.0313, + -0.1649, + 0.0117, + 0.0723, + -0.2839, + -0.2083, + -0.052, + 0.3748, + 0.0152, + 0.1957, + 0.1433, + -0.2944, + 0.3573, + -0.0548, + -0.1681, + -0.0667 + ], + "latents_std": [ + 0.4765, + 1.0364, + 0.4514, + 1.1677, + 0.5313, + 0.499, + 0.4818, + 0.5013, + 0.8158, + 1.0344, + 0.5894, + 1.0901, + 0.6885, + 0.6165, + 0.8454, + 0.4978, + 0.5759, + 0.3523, + 0.7135, + 0.6804, + 0.5833, + 1.4146, + 0.8986, + 0.5659, + 0.7069, + 0.5338, + 0.4889, + 0.4917, + 0.4069, + 0.4999, + 0.6866, + 0.4093, + 0.5709, + 0.6065, + 0.6415, + 0.4944, + 0.5726, + 1.2042, + 0.5458, + 1.6887, + 0.3971, + 1.06, + 0.3943, + 0.5537, + 0.5444, + 0.4089, + 0.7468, + 0.7744 + ], + "num_res_blocks": 2, + "out_channels": 12, + "patch_size": 2, + "scale_factor_spatial": 16, + "scale_factor_temporal": 4, + "temperal_downsample": [ + false, + true, + true + ], + "z_dim": 48 +} diff --git a/Wan2.2-TI2V-5B-Diffusers/vae/diffusion_pytorch_model.safetensors b/Wan2.2-TI2V-5B-Diffusers/vae/diffusion_pytorch_model.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..ce286de5e77fb7878058355c6dcee7be8308a83c --- /dev/null +++ b/Wan2.2-TI2V-5B-Diffusers/vae/diffusion_pytorch_model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62cd18f19438e35b32ac63020e2852f566e9b02f46b6cdbd87972a356e3c6f4b +size 2818777808 diff --git a/dit/diffusion_pytorch_model.safetensors b/dit/diffusion_pytorch_model.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..68aaee8a423492bad81b1d6b8e2e3344a1808e07 --- /dev/null +++ b/dit/diffusion_pytorch_model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70c14c374fc9f33a29ed713f68cf7e5db4952ea62ecd1787e63a390ef94918d3 +size 9999660080 diff --git a/lora/README.md b/lora/README.md new file mode 100644 index 0000000000000000000000000000000000000000..ccee2218b3b980a6d38b6a0702061cf47001c1ad --- /dev/null +++ b/lora/README.md @@ -0,0 +1,204 @@ +--- +base_model: /robby/share/MM/checkpoints/modelzoo/Wan2.2-TI2V-5B-Diffusers +library_name: peft +tags: +- lora +--- + +# Model Card for Model ID + + + + + +## Model Details + +### Model Description + + + + + +- **Developed by:** [More Information Needed] +- **Funded by [optional]:** [More Information Needed] +- **Shared by [optional]:** [More Information Needed] +- **Model type:** [More Information Needed] +- **Language(s) (NLP):** [More Information Needed] +- **License:** [More Information Needed] +- **Finetuned from model [optional]:** [More Information Needed] + +### Model Sources [optional] + + + +- **Repository:** [More Information Needed] +- **Paper [optional]:** [More Information Needed] +- **Demo [optional]:** [More Information Needed] + +## Uses + + + +### Direct Use + + + +[More Information Needed] + +### Downstream Use [optional] + + + +[More Information Needed] + +### Out-of-Scope Use + + + +[More Information Needed] + +## Bias, Risks, and Limitations + + + +[More Information Needed] + +### Recommendations + + + +Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations. + +## How to Get Started with the Model + +Use the code below to get started with the model. + +[More Information Needed] + +## Training Details + +### Training Data + + + +[More Information Needed] + +### Training Procedure + + + +#### Preprocessing [optional] + +[More Information Needed] + + +#### Training Hyperparameters + +- **Training regime:** [More Information Needed] + +#### Speeds, Sizes, Times [optional] + + + +[More Information Needed] + +## Evaluation + + + +### Testing Data, Factors & Metrics + +#### Testing Data + + + +[More Information Needed] + +#### Factors + + + +[More Information Needed] + +#### Metrics + + + +[More Information Needed] + +### Results + +[More Information Needed] + +#### Summary + + + +## Model Examination [optional] + + + +[More Information Needed] + +## Environmental Impact + + + +Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700). + +- **Hardware Type:** [More Information Needed] +- **Hours used:** [More Information Needed] +- **Cloud Provider:** [More Information Needed] +- **Compute Region:** [More Information Needed] +- **Carbon Emitted:** [More Information Needed] + +## Technical Specifications [optional] + +### Model Architecture and Objective + +[More Information Needed] + +### Compute Infrastructure + +[More Information Needed] + +#### Hardware + +[More Information Needed] + +#### Software + +[More Information Needed] + +## Citation [optional] + + + +**BibTeX:** + +[More Information Needed] + +**APA:** + +[More Information Needed] + +## Glossary [optional] + + + +[More Information Needed] + +## More Information [optional] + +[More Information Needed] + +## Model Card Authors [optional] + +[More Information Needed] + +## Model Card Contact + +[More Information Needed] +### Framework versions + +- PEFT 0.17.0 \ No newline at end of file diff --git a/lora/adapter_config.json b/lora/adapter_config.json new file mode 100644 index 0000000000000000000000000000000000000000..4cc8db0ff373f14241e00b72af0d0594335d4cca --- /dev/null +++ b/lora/adapter_config.json @@ -0,0 +1,44 @@ +{ + "alpha_pattern": {}, + "auto_mapping": { + "base_model_class": "WanTransformer3DModel", + "parent_library": "fastvideo.models.wan_v2v.model_wan_v2v" + }, + "base_model_name_or_path": null, + "bias": "none", + "corda_config": null, + "eva_config": null, + "exclude_modules": null, + "fan_in_fan_out": false, + "inference_mode": true, + "init_lora_weights": "gaussian", + "layer_replication": null, + "layers_pattern": null, + "layers_to_transform": null, + "loftq_config": {}, + "lora_alpha": 64, + "lora_bias": false, + "lora_dropout": 0.0, + "megatron_config": null, + "megatron_core": "megatron.core", + "modules_to_save": null, + "peft_type": "LORA", + "qalora_group_size": 16, + "r": 32, + "rank_pattern": {}, + "revision": null, + "target_modules": [ + "to_out.0", + "to_v", + "to_k", + "to_q", + "net.2", + "net.0.proj" + ], + "target_parameters": null, + "task_type": null, + "trainable_token_indices": null, + "use_dora": false, + "use_qalora": false, + "use_rslora": false +} \ No newline at end of file diff --git a/lora/adapter_model.safetensors b/lora/adapter_model.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..023f7aec225d81d287b43c6228a8b6b1cd775566 --- /dev/null +++ b/lora/adapter_model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d6507c54984608b944be7ba765d038fff4a92593cb017bb2784235fc95eabee +size 322512256 diff --git a/lora/checkpoint/README.md b/lora/checkpoint/README.md new file mode 100644 index 0000000000000000000000000000000000000000..ccee2218b3b980a6d38b6a0702061cf47001c1ad --- /dev/null +++ b/lora/checkpoint/README.md @@ -0,0 +1,204 @@ +--- +base_model: /robby/share/MM/checkpoints/modelzoo/Wan2.2-TI2V-5B-Diffusers +library_name: peft +tags: +- lora +--- + +# Model Card for Model ID + + + + + +## Model Details + +### Model Description + + + + + +- **Developed by:** [More Information Needed] +- **Funded by [optional]:** [More Information Needed] +- **Shared by [optional]:** [More Information Needed] +- **Model type:** [More Information Needed] +- **Language(s) (NLP):** [More Information Needed] +- **License:** [More Information Needed] +- **Finetuned from model [optional]:** [More Information Needed] + +### Model Sources [optional] + + + +- **Repository:** [More Information Needed] +- **Paper [optional]:** [More Information Needed] +- **Demo [optional]:** [More Information Needed] + +## Uses + + + +### Direct Use + + + +[More Information Needed] + +### Downstream Use [optional] + + + +[More Information Needed] + +### Out-of-Scope Use + + + +[More Information Needed] + +## Bias, Risks, and Limitations + + + +[More Information Needed] + +### Recommendations + + + +Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations. + +## How to Get Started with the Model + +Use the code below to get started with the model. + +[More Information Needed] + +## Training Details + +### Training Data + + + +[More Information Needed] + +### Training Procedure + + + +#### Preprocessing [optional] + +[More Information Needed] + + +#### Training Hyperparameters + +- **Training regime:** [More Information Needed] + +#### Speeds, Sizes, Times [optional] + + + +[More Information Needed] + +## Evaluation + + + +### Testing Data, Factors & Metrics + +#### Testing Data + + + +[More Information Needed] + +#### Factors + + + +[More Information Needed] + +#### Metrics + + + +[More Information Needed] + +### Results + +[More Information Needed] + +#### Summary + + + +## Model Examination [optional] + + + +[More Information Needed] + +## Environmental Impact + + + +Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700). + +- **Hardware Type:** [More Information Needed] +- **Hours used:** [More Information Needed] +- **Cloud Provider:** [More Information Needed] +- **Compute Region:** [More Information Needed] +- **Carbon Emitted:** [More Information Needed] + +## Technical Specifications [optional] + +### Model Architecture and Objective + +[More Information Needed] + +### Compute Infrastructure + +[More Information Needed] + +#### Hardware + +[More Information Needed] + +#### Software + +[More Information Needed] + +## Citation [optional] + + + +**BibTeX:** + +[More Information Needed] + +**APA:** + +[More Information Needed] + +## Glossary [optional] + + + +[More Information Needed] + +## More Information [optional] + +[More Information Needed] + +## Model Card Authors [optional] + +[More Information Needed] + +## Model Card Contact + +[More Information Needed] +### Framework versions + +- PEFT 0.17.0 \ No newline at end of file diff --git a/lora/checkpoint/adapter_config.json b/lora/checkpoint/adapter_config.json new file mode 100644 index 0000000000000000000000000000000000000000..4cc8db0ff373f14241e00b72af0d0594335d4cca --- /dev/null +++ b/lora/checkpoint/adapter_config.json @@ -0,0 +1,44 @@ +{ + "alpha_pattern": {}, + "auto_mapping": { + "base_model_class": "WanTransformer3DModel", + "parent_library": "fastvideo.models.wan_v2v.model_wan_v2v" + }, + "base_model_name_or_path": null, + "bias": "none", + "corda_config": null, + "eva_config": null, + "exclude_modules": null, + "fan_in_fan_out": false, + "inference_mode": true, + "init_lora_weights": "gaussian", + "layer_replication": null, + "layers_pattern": null, + "layers_to_transform": null, + "loftq_config": {}, + "lora_alpha": 64, + "lora_bias": false, + "lora_dropout": 0.0, + "megatron_config": null, + "megatron_core": "megatron.core", + "modules_to_save": null, + "peft_type": "LORA", + "qalora_group_size": 16, + "r": 32, + "rank_pattern": {}, + "revision": null, + "target_modules": [ + "to_out.0", + "to_v", + "to_k", + "to_q", + "net.2", + "net.0.proj" + ], + "target_parameters": null, + "task_type": null, + "trainable_token_indices": null, + "use_dora": false, + "use_qalora": false, + "use_rslora": false +} \ No newline at end of file diff --git a/lora/checkpoint/adapter_model.safetensors b/lora/checkpoint/adapter_model.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..023f7aec225d81d287b43c6228a8b6b1cd775566 --- /dev/null +++ b/lora/checkpoint/adapter_model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d6507c54984608b944be7ba765d038fff4a92593cb017bb2784235fc95eabee +size 322512256 diff --git a/sam2.1-hiera-large/.msc b/sam2.1-hiera-large/.msc new file mode 100644 index 0000000000000000000000000000000000000000..e6f9bee953e039f5f4994964a8b2378ed1b5da09 Binary files /dev/null and b/sam2.1-hiera-large/.msc differ diff --git a/sam2.1-hiera-large/.mv b/sam2.1-hiera-large/.mv new file mode 100644 index 0000000000000000000000000000000000000000..6a5de9b15ccb1db82e3826d6458f1074e0bae9a4 --- /dev/null +++ b/sam2.1-hiera-large/.mv @@ -0,0 +1 @@ +Revision:master,CreatedAt:1755370705 \ No newline at end of file diff --git a/sam2.1-hiera-large/README.md b/sam2.1-hiera-large/README.md new file mode 100644 index 0000000000000000000000000000000000000000..be863d6696ff1dd6ea8c88ab46ae04e5f7fe68e6 --- /dev/null +++ b/sam2.1-hiera-large/README.md @@ -0,0 +1,542 @@ +--- +license: apache-2.0 +pipeline_tag: mask-generation +library_name: transformers +--- + +Repository for SAM 2: Segment Anything in Images and Videos, a foundation model towards solving promptable visual segmentation in images and videos from FAIR. See the [SAM 2 paper](https://arxiv.org/abs/2408.00714) for more information. + +The official code is publicly release in this [repo](https://github.com/facebookresearch/segment-anything-2/). + +## Usage + +For image prediction: + +```python +import torch +from sam2.sam2_image_predictor import SAM2ImagePredictor + +predictor = SAM2ImagePredictor.from_pretrained("facebook/sam2.1-hiera-large") + +with torch.inference_mode(), torch.autocast("cuda", dtype=torch.bfloat16): + predictor.set_image() + masks, _, _ = predictor.predict() +``` + +For video prediction: + +```python +import torch +from sam2.sam2_video_predictor import SAM2VideoPredictor + +predictor = SAM2VideoPredictor.from_pretrained("facebook/sam2.1-hiera-large") + +with torch.inference_mode(), torch.autocast("cuda", dtype=torch.bfloat16): + state = predictor.init_state() + + # add new prompts and instantly get the output on the same frame + frame_idx, object_ids, masks = predictor.add_new_points_or_box(state, ): + + # propagate the prompts to get masklets throughout the video + for frame_idx, object_ids, masks in predictor.propagate_in_video(state): + ... +``` + +Refer to the [demo notebooks](https://github.com/facebookresearch/segment-anything-2/tree/main/notebooks) for more details. + +## Usage with 🤗 Transformers + + +### Automatic Mask Generation with Pipeline + +SAM2 can be used for automatic mask generation to segment all objects in an image using the `mask-generation` pipeline: + +```python +>>> from transformers import pipeline + +>>> generator = pipeline("mask-generation", model="facebook/sam2.1-hiera-large", device=0) +>>> image_url = "https://huggingface.co/datasets/hf-internal-testing/sam2-fixtures/resolve/main/truck.jpg" +>>> outputs = generator(image_url, points_per_batch=64) + +>>> len(outputs["masks"]) # Number of masks generated +39 +``` + +### Basic Image Segmentation + +#### Single Point Click + +You can segment objects by providing a single point click on the object you want to segment: + +```python +>>> from transformers import Sam2Processor, Sam2Model +>>> import torch +>>> from PIL import Image +>>> import requests + +>>> device = "cuda" if torch.cuda.is_available() else "cpu" + +>>> model = Sam2Model.from_pretrained("facebook/sam2.1-hiera-large").to(device) +>>> processor = Sam2Processor.from_pretrained("facebook/sam2.1-hiera-large") + +>>> image_url = "https://huggingface.co/datasets/hf-internal-testing/sam2-fixtures/resolve/main/truck.jpg" +>>> raw_image = Image.open(requests.get(image_url, stream=True).raw).convert("RGB") + +>>> input_points = [[[[500, 375]]]] # Single point click, 4 dimensions (image_dim, object_dim, point_per_object_dim, coordinates) +>>> input_labels = [[[1]]] # 1 for positive click, 0 for negative click, 3 dimensions (image_dim, object_dim, point_label) + +>>> inputs = processor(images=raw_image, input_points=input_points, input_labels=input_labels, return_tensors="pt").to(device) + +>>> with torch.no_grad(): +... outputs = model(**inputs) + +>>> masks = processor.post_process_masks(outputs.pred_masks.cpu(), inputs["original_sizes"])[0] + +>>> # The model outputs multiple mask predictions ranked by quality score +>>> print(f"Generated {masks.shape[1]} masks with shape {masks.shape}") +Generated 3 masks with shape torch.Size(1, 3, 1500, 2250) +``` + +#### Multiple Points for Refinement + +You can provide multiple points to refine the segmentation: + +```python +>>> # Add both positive and negative points to refine the mask +>>> input_points = [[[[500, 375], [1125, 625]]]] # Multiple points for refinement +>>> input_labels = [[[1, 1]]] # Both positive clicks + +>>> inputs = processor(images=raw_image, input_points=input_points, input_labels=input_labels, return_tensors="pt").to(device) + +>>> with torch.no_grad(): +... outputs = model(**inputs) + +>>> masks = processor.post_process_masks(outputs.pred_masks.cpu(), inputs["original_sizes"])[0] +``` + +#### Bounding Box Input + +SAM2 also supports bounding box inputs for segmentation: + +```python +>>> # Define bounding box as [x_min, y_min, x_max, y_max] +>>> input_boxes = [[[75, 275, 1725, 850]]] + +>>> inputs = processor(images=raw_image, input_boxes=input_boxes, return_tensors="pt").to(device) + +>>> with torch.no_grad(): +... outputs = model(**inputs) + +>>> masks = processor.post_process_masks(outputs.pred_masks.cpu(), inputs["original_sizes"])[0] +``` + +#### Multiple Objects Segmentation + +You can segment multiple objects simultaneously: + +```python +>>> # Define points for two different objects +>>> input_points = [[[[500, 375]], [[650, 750]]]] # Points for two objects in same image +>>> input_labels = [[[1], [1]]] # Positive clicks for both objects + +>>> inputs = processor(images=raw_image, input_points=input_points, input_labels=input_labels, return_tensors="pt").to(device) + +>>> with torch.no_grad(): +... outputs = model(**inputs, multimask_output=False) + +>>> # Each object gets its own mask +>>> masks = processor.post_process_masks(outputs.pred_masks.cpu(), inputs["original_sizes"])[0] +>>> print(f"Generated masks for {masks.shape[0]} objects") +Generated masks for 2 objects +``` + +### Batch Inference + +#### Batched Images + +Process multiple images simultaneously for improved efficiency: + +```python +>>> from transformers import Sam2Processor, Sam2Model +>>> import torch +>>> from PIL import Image +>>> import requests + +>>> device = "cuda" if torch.cuda.is_available() else "cpu" + +>>> model = Sam2Model.from_pretrained("facebook/sam2.1-hiera-large").to(device) +>>> processor = Sam2Processor.from_pretrained("facebook/sam2.1-hiera-large") + +>>> # Load multiple images +>>> image_urls = [ +... "https://huggingface.co/datasets/hf-internal-testing/sam2-fixtures/resolve/main/truck.jpg", +... "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/transformers/model_doc/dog-sam.png" +... ] +>>> raw_images = [Image.open(requests.get(url, stream=True).raw).convert("RGB") for url in image_urls] + +>>> # Single point per image +>>> input_points = [[[[500, 375]]], [[[770, 200]]]] # One point for each image +>>> input_labels = [[[1]], [[1]]] # Positive clicks for both images + +>>> inputs = processor(images=raw_images, input_points=input_points, input_labels=input_labels, return_tensors="pt").to(device) + +>>> with torch.no_grad(): +... outputs = model(**inputs, multimask_output=False) + +>>> # Post-process masks for each image +>>> all_masks = processor.post_process_masks(outputs.pred_masks.cpu(), inputs["original_sizes"]) +>>> print(f"Processed {len(all_masks)} images, each with {all_masks[0].shape[0]} objects") +Processed 2 images, each with 1 objects +``` + +#### Batched Objects per Image + +Segment multiple objects within each image using batch inference: + +```python +>>> # Multiple objects per image - different numbers of objects per image +>>> input_points = [ +... [[[500, 375]], [[650, 750]]], # Truck image: 2 objects +... [[[770, 200]]] # Dog image: 1 object +... ] +>>> input_labels = [ +... [[1], [1]], # Truck image: positive clicks for both objects +... [[1]] # Dog image: positive click for the object +... ] + +>>> inputs = processor(images=raw_images, input_points=input_points, input_labels=input_labels, return_tensors="pt").to(device) + +>>> with torch.no_grad(): +... outputs = model(**inputs, multimask_output=False) + +>>> all_masks = processor.post_process_masks(outputs.pred_masks.cpu(), inputs["original_sizes"]) +``` + +#### Batched Images with Batched Objects and Multiple Points + +Handle complex batch scenarios with multiple points per object: + +```python +>>> # Add groceries image for more complex example +>>> groceries_url = "https://huggingface.co/datasets/hf-internal-testing/sam2-fixtures/resolve/main/groceries.jpg" +>>> groceries_image = Image.open(requests.get(groceries_url, stream=True).raw).convert("RGB") +>>> raw_images = [raw_images[0], groceries_image] # Use truck and groceries images + +>>> # Complex batching: multiple images, multiple objects, multiple points per object +>>> input_points = [ +... [[[500, 375]], [[650, 750]]], # Truck image: 2 objects with 1 point each +... [[[400, 300]], [[630, 300], [550, 300]]] # Groceries image: obj1 has 1 point, obj2 has 2 points +... ] +>>> input_labels = [ +... [[1], [1]], # Truck image: positive clicks +... [[1], [1, 1]] # Groceries image: positive clicks for refinement +... ] + +>>> inputs = processor(images=raw_images, input_points=input_points, input_labels=input_labels, return_tensors="pt").to(device) + +>>> with torch.no_grad(): +... outputs = model(**inputs, multimask_output=False) + +>>> all_masks = processor.post_process_masks(outputs.pred_masks.cpu(), inputs["original_sizes"]) +``` + +#### Batched Bounding Boxes + +Process multiple images with bounding box inputs: + +```python +>>> # Multiple bounding boxes per image (using truck and groceries images) +>>> input_boxes = [ +... [[75, 275, 1725, 850], [425, 600, 700, 875], [1375, 550, 1650, 800], [1240, 675, 1400, 750]], # Truck image: 4 boxes +... [[450, 170, 520, 350], [350, 190, 450, 350], [500, 170, 580, 350], [580, 170, 640, 350]] # Groceries image: 4 boxes +... ] + +>>> # Update images for this example +>>> raw_images = [raw_images[0], groceries_image] # truck and groceries + +>>> inputs = processor(images=raw_images, input_boxes=input_boxes, return_tensors="pt").to(device) + +>>> with torch.no_grad(): +... outputs = model(**inputs, multimask_output=False) + +>>> all_masks = processor.post_process_masks(outputs.pred_masks.cpu(), inputs["original_sizes"]) +>>> print(f"Processed {len(input_boxes)} images with {len(input_boxes[0])} and {len(input_boxes[1])} boxes respectively") +Processed 2 images with 4 and 4 boxes respectively +``` + +### Using Previous Masks as Input + +SAM2 can use masks from previous predictions as input to refine segmentation: + +```python +>>> # Get initial segmentation +>>> input_points = [[[[500, 375]]]] +>>> input_labels = [[[1]]] +>>> inputs = processor(images=raw_image, input_points=input_points, input_labels=input_labels, return_tensors="pt").to(device) + +>>> with torch.no_grad(): +... outputs = model(**inputs) + +>>> # Use the best mask as input for refinement +>>> mask_input = outputs.pred_masks[:, :, torch.argmax(outputs.iou_scores.squeeze())] + +>>> # Add additional points with the mask input +>>> new_input_points = [[[[500, 375], [450, 300]]]] +>>> new_input_labels = [[[1, 1]]] +>>> inputs = processor( +... input_points=new_input_points, +... input_labels=new_input_labels, +... original_sizes=inputs["original_sizes"], +... return_tensors="pt", +... ).to(device) + +>>> with torch.no_grad(): +... refined_outputs = model( +... **inputs, +... input_masks=mask_input, +... image_embeddings=outputs.image_embeddings, +... multimask_output=False, +... ) +``` + + +### Video Segmentation and Tracking + +SAM2's key strength is its ability to track objects across video frames. Here's how to use it for video segmentation: + +#### Basic Video Tracking + +```python +>>> from transformers import Sam2VideoModel, Sam2VideoProcessor +>>> import torch + +>>> device = "cuda" if torch.cuda.is_available() else "cpu" +>>> model = Sam2VideoModel.from_pretrained("facebook/sam2.1-hiera-large").to(device, dtype=torch.bfloat16) +>>> processor = Sam2VideoProcessor.from_pretrained("facebook/sam2.1-hiera-large") + +>>> # Load video frames (example assumes you have a list of PIL Images) +>>> # video_frames = [Image.open(f"frame_{i:05d}.jpg") for i in range(num_frames)] + +>>> # For this example, we'll use the video loading utility +>>> from transformers.video_utils import load_video +>>> video_url = "https://huggingface.co/datasets/hf-internal-testing/sam2-fixtures/resolve/main/bedroom.mp4" +>>> video_frames, _ = load_video(video_url) + +>>> # Initialize video inference session +>>> inference_session = processor.init_video_session( +... video=video_frames, +... inference_device=device, +... torch_dtype=torch.bfloat16, +... ) + +>>> # Add click on first frame to select object +>>> ann_frame_idx = 0 +>>> ann_obj_id = 1 +>>> points = [[[[210, 350]]]] +>>> labels = [[[1]]] + +>>> processor.add_inputs_to_inference_session( +... inference_session=inference_session, +... frame_idx=ann_frame_idx, +... obj_ids=ann_obj_id, +... input_points=points, +... input_labels=labels, +... ) + +>>> # Segment the object on the first frame +>>> outputs = model( +... inference_session=inference_session, +... frame_idx=ann_frame_idx, +... ) +>>> video_res_masks = processor.post_process_masks( +... [outputs.pred_masks], original_sizes=[[inference_session.video_height, inference_session.video_width]], binarize=False +... )[0] +>>> print(f"Segmentation shape: {video_res_masks.shape}") +Segmentation shape: torch.Size([1, 1, 480, 854]) + +>>> # Propagate through the entire video +>>> video_segments = {} +>>> for sam2_video_output in model.propagate_in_video_iterator(inference_session): +... video_res_masks = processor.post_process_masks( +... [sam2_video_output.pred_masks], original_sizes=[[inference_session.video_height, inference_session.video_width]], binarize=False +... )[0] +... video_segments[sam2_video_output.frame_idx] = video_res_masks + +>>> print(f"Tracked object through {len(video_segments)} frames") +Tracked object through 180 frames +``` + +#### Multi-Object Video Tracking + +Track multiple objects simultaneously across video frames: + +```python +>>> # Reset for new tracking session +>>> inference_session.reset_inference_session() + +>>> # Add multiple objects on the first frame +>>> ann_frame_idx = 0 +>>> obj_ids = [2, 3] +>>> input_points = [[[[200, 300]], [[400, 150]]]] # Points for two objects (batched) +>>> input_labels = [[[1], [1]]] + +>>> processor.add_inputs_to_inference_session( +... inference_session=inference_session, +... frame_idx=ann_frame_idx, +... obj_ids=obj_ids, +... input_points=input_points, +... input_labels=input_labels, +... ) + +>>> # Get masks for both objects on first frame +>>> outputs = model( +... inference_session=inference_session, +... frame_idx=ann_frame_idx, +... ) + +>>> # Propagate both objects through video +>>> video_segments = {} +>>> for sam2_video_output in model.propagate_in_video_iterator(inference_session): +... video_res_masks = processor.post_process_masks( +... [sam2_video_output.pred_masks], original_sizes=[[inference_session.video_height, inference_session.video_width]], binarize=False +... )[0] +... video_segments[sam2_video_output.frame_idx] = { +... obj_id: video_res_masks[i] +... for i, obj_id in enumerate(inference_session.obj_ids) +... } + +>>> print(f"Tracked {len(inference_session.obj_ids)} objects through {len(video_segments)} frames") +Tracked 2 objects through 180 frames +``` + +#### Refining Video Segmentation + +You can add additional clicks on any frame to refine the tracking: + +```python +>>> # Add refinement click on a later frame +>>> refine_frame_idx = 50 +>>> ann_obj_id = 2 # Refining first object +>>> points = [[[[220, 280]]]] # Additional point +>>> labels = [[[1]]] # Positive click + +>>> processor.add_inputs_to_inference_session( +... inference_session=inference_session, +... frame_idx=refine_frame_idx, +... obj_ids=ann_obj_id, +... input_points=points, +... input_labels=labels, +... ) + +>>> # Re-propagate with the additional information +>>> video_segments = {} +>>> for sam2_video_output in model.propagate_in_video_iterator(inference_session): +... video_res_masks = processor.post_process_masks( +... [sam2_video_output.pred_masks], original_sizes=[[inference_session.video_height, inference_session.video_width]], binarize=False +... )[0] +... video_segments[sam2_video_output.frame_idx] = video_res_masks +``` + +### Streaming Video Inference + +For real-time applications, SAM2 supports processing video frames as they arrive: + +```python +>>> # Initialize session for streaming +>>> inference_session = processor.init_video_session( +... inference_device=device, +... torch_dtype=torch.bfloat16, +... ) + +>>> # Process frames one by one +>>> for frame_idx, frame in enumerate(video_frames[:10]): # Process first 10 frames +... inputs = processor(images=frame, device=device, return_tensors="pt") +... +... if frame_idx == 0: +... # Add point input on first frame +... processor.add_inputs_to_inference_session( +... inference_session=inference_session, +... frame_idx=0, +... obj_ids=1, +... input_points=[[[[210, 350], [250, 220]]]], +... input_labels=[[[1, 1]]], +... original_size=inputs.original_sizes[0], # need to be provided when using streaming video inference +... ) +... +... # Process current frame +... sam2_video_output = model(inference_session=inference_session, frame=inputs.pixel_values[0]) +... +... video_res_masks = processor.post_process_masks( +... [sam2_video_output.pred_masks], original_sizes=inputs.original_sizes, binarize=False +... )[0] +... print(f"Frame {frame_idx}: mask shape {video_res_masks.shape}") +``` + +#### Video Batch Processing for Multiple Objects + +Track multiple objects simultaneously in video by adding them all at once: + +```python +>>> # Initialize video session +>>> inference_session = processor.init_video_session( +... video=video_frames, +... inference_device=device, +... torch_dtype=torch.bfloat16, +... ) + +>>> # Add multiple objects on the first frame using batch processing +>>> ann_frame_idx = 0 +>>> obj_ids = [2, 3] # Track two different objects +>>> input_points = [ +... [[[200, 300], [230, 250], [275, 175]], [[400, 150]]] +... ] # Object 2: 3 points (2 positive, 1 negative); Object 3: 1 point +>>> input_labels = [ +... [[1, 1, 0], [1]] +... ] # Object 2: positive, positive, negative; Object 3: positive + +>>> processor.add_inputs_to_inference_session( +... inference_session=inference_session, +... frame_idx=ann_frame_idx, +... obj_ids=obj_ids, +... input_points=input_points, +... input_labels=input_labels, +... ) + +>>> # Get masks for all objects on the first frame +>>> outputs = model( +... inference_session=inference_session, +... frame_idx=ann_frame_idx, +... ) +>>> video_res_masks = processor.post_process_masks( +... [outputs.pred_masks], original_sizes=[[inference_session.video_height, inference_session.video_width]], binarize=False +... )[0] +>>> print(f"Generated masks for {video_res_masks.shape[0]} objects") +Generated masks for 2 objects + +>>> # Propagate all objects through the video +>>> video_segments = {} +>>> for sam2_video_output in model.propagate_in_video_iterator(inference_session): +... video_res_masks = processor.post_process_masks( +... [sam2_video_output.pred_masks], original_sizes=[[inference_session.video_height, inference_session.video_width]], binarize=False +... )[0] +... video_segments[sam2_video_output.frame_idx] = { +... obj_id: video_res_masks[i] +... for i, obj_id in enumerate(inference_session.obj_ids) +... } + +>>> print(f"Tracked {len(inference_session.obj_ids)} objects through {len(video_segments)} frames") +Tracked 2 objects through 180 frames +``` + +### Citation + +To cite the paper, model, or software, please use the below: +``` +@article{ravi2024sam2, + title={SAM 2: Segment Anything in Images and Videos}, + author={Ravi, Nikhila and Gabeur, Valentin and Hu, Yuan-Ting and Hu, Ronghang and Ryali, Chaitanya and Ma, Tengyu and Khedr, Haitham and R{\"a}dle, Roman and Rolland, Chloe and Gustafson, Laura and Mintun, Eric and Pan, Junting and Alwala, Kalyan Vasudev and Carion, Nicolas and Wu, Chao-Yuan and Girshick, Ross and Doll{\'a}r, Piotr and Feichtenhofer, Christoph}, + journal={arXiv preprint arXiv:2408.00714}, + url={https://arxiv.org/abs/2408.00714}, + year={2024} +} +``` diff --git a/sam2.1-hiera-large/config.json b/sam2.1-hiera-large/config.json new file mode 100644 index 0000000000000000000000000000000000000000..62a1dd93657b383ec1e9bad75699747951d307c7 --- /dev/null +++ b/sam2.1-hiera-large/config.json @@ -0,0 +1,233 @@ +{ + "architectures": [ + "Sam2VideoModel" + ], + "enable_occlusion_spatial_embedding": true, + "enable_temporal_pos_encoding_for_object_pointers": true, + "image_size": 1024, + "initializer_range": 0.02, + "mask_decoder_config": { + "attention_downsample_rate": 2, + "dynamic_multimask_stability_delta": 0.05, + "dynamic_multimask_stability_thresh": 0.98, + "dynamic_multimask_via_stability": true, + "hidden_act": "gelu", + "hidden_size": 256, + "iou_head_depth": 3, + "iou_head_hidden_dim": 256, + "mlp_dim": 2048, + "model_type": "", + "num_attention_heads": 8, + "num_hidden_layers": 2, + "num_multimask_outputs": 3 + }, + "mask_downsampler_embed_dim": 256, + "mask_downsampler_hidden_act": "gelu", + "mask_downsampler_kernel_size": 3, + "mask_downsampler_padding": 1, + "mask_downsampler_stride": 2, + "mask_downsampler_total_stride": 16, + "max_object_pointers_in_encoder": 16, + "memory_attention_downsample_rate": 1, + "memory_attention_dropout": 0.1, + "memory_attention_feed_forward_hidden_act": "relu", + "memory_attention_feed_forward_hidden_size": 2048, + "memory_attention_hidden_size": 256, + "memory_attention_num_attention_heads": 1, + "memory_attention_num_layers": 4, + "memory_attention_rope_dropout": 0.1, + "memory_attention_rope_feat_sizes": [ + 64, + 64 + ], + "memory_attention_rope_theta": 10000, + "memory_encoder_hidden_size": 256, + "memory_encoder_output_channels": 64, + "memory_fuser_embed_dim": 256, + "memory_fuser_hidden_act": "gelu", + "memory_fuser_intermediate_dim": 1024, + "memory_fuser_kernel_size": 7, + "memory_fuser_layer_scale_init_value": 1e-06, + "memory_fuser_num_layers": 2, + "memory_fuser_padding": 3, + "model_type": "sam2_video", + "multimask_max_pt_num": 1, + "multimask_min_pt_num": 0, + "multimask_output_for_tracking": true, + "multimask_output_in_sam": true, + "num_maskmem": 7, + "prompt_encoder_config": { + "hidden_act": "gelu", + "hidden_size": 256, + "image_size": 1024, + "layer_norm_eps": 1e-06, + "mask_input_channels": 16, + "model_type": "", + "num_point_embeddings": 4, + "patch_size": 16, + "scale": 1 + }, + "sigmoid_bias_for_mem_enc": -10.0, + "sigmoid_scale_for_mem_enc": 20.0, + "torch_dtype": "float32", + "transformers_version": "4.56.0.dev0", + "vision_config": { + "backbone_channel_list": [ + 1152, + 576, + 288, + 144 + ], + "backbone_config": { + "_name_or_path": "", + "add_cross_attention": false, + "architectures": null, + "bad_words_ids": null, + "begin_suppress_tokens": null, + "blocks_per_stage": [ + 2, + 6, + 36, + 4 + ], + "bos_token_id": null, + "chunk_size_feed_forward": 0, + "cross_attention_hidden_size": null, + "decoder_start_token_id": null, + "diversity_penalty": 0.0, + "do_sample": false, + "early_stopping": false, + "embed_dim_per_stage": [ + 144, + 288, + 576, + 1152 + ], + "encoder_no_repeat_ngram_size": 0, + "eos_token_id": null, + "exponential_decay_length_penalty": null, + "finetuning_task": null, + "forced_bos_token_id": null, + "forced_eos_token_id": null, + "global_attention_blocks": [ + 23, + 33, + 43 + ], + "hidden_act": "gelu", + "hidden_size": 144, + "id2label": { + "0": "LABEL_0", + "1": "LABEL_1" + }, + "image_size": [ + 1024, + 1024 + ], + "initializer_range": 0.02, + "is_decoder": false, + "is_encoder_decoder": false, + "label2id": { + "LABEL_0": 0, + "LABEL_1": 1 + }, + "layer_norm_eps": 1e-06, + "length_penalty": 1.0, + "max_length": 20, + "min_length": 0, + "mlp_ratio": 4.0, + "model_type": "sam2_hiera_det_model", + "no_repeat_ngram_size": 0, + "num_attention_heads": 1, + "num_attention_heads_per_stage": [ + 2, + 4, + 8, + 16 + ], + "num_beam_groups": 1, + "num_beams": 1, + "num_channels": 3, + "num_query_pool_stages": 3, + "num_return_sequences": 1, + "output_attentions": false, + "output_hidden_states": false, + "output_scores": false, + "pad_token_id": null, + "patch_kernel_size": [ + 7, + 7 + ], + "patch_padding": [ + 3, + 3 + ], + "patch_stride": [ + 4, + 4 + ], + "prefix": null, + "problem_type": null, + "pruned_heads": {}, + "query_stride": [ + 2, + 2 + ], + "remove_invalid_values": false, + "repetition_penalty": 1.0, + "return_dict": true, + "return_dict_in_generate": false, + "sep_token_id": null, + "suppress_tokens": null, + "task_specific_params": null, + "temperature": 1.0, + "tf_legacy_loss": false, + "tie_encoder_decoder": false, + "tie_word_embeddings": true, + "tokenizer_class": null, + "top_k": 50, + "top_p": 1.0, + "torch_dtype": null, + "torchscript": false, + "typical_p": 1.0, + "use_bfloat16": false, + "window_positional_embedding_background_size": [ + 7, + 7 + ], + "window_size_per_stage": [ + 8, + 4, + 16, + 8 + ] + }, + "backbone_feature_sizes": [ + [ + 256, + 256 + ], + [ + 128, + 128 + ], + [ + 64, + 64 + ] + ], + "fpn_hidden_size": 256, + "fpn_kernel_size": 1, + "fpn_padding": 0, + "fpn_stride": 1, + "fpn_top_down_levels": [ + 2, + 3 + ], + "hidden_act": "gelu", + "initializer_range": 0.02, + "layer_norm_eps": 1e-06, + "model_type": "sam2_vision_model", + "num_feature_levels": 3 + } +} diff --git a/sam2.1-hiera-large/configuration.json b/sam2.1-hiera-large/configuration.json new file mode 100644 index 0000000000000000000000000000000000000000..3bd76938f2dd39133187cccece5d1250b9b5ce76 --- /dev/null +++ b/sam2.1-hiera-large/configuration.json @@ -0,0 +1 @@ +{"framework": "pytorch", "task": "mask-generation", "allow_remote": true} \ No newline at end of file diff --git a/sam2.1-hiera-large/model.safetensors b/sam2.1-hiera-large/model.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..22a436a3f5e17bb540c9c5230f28e34f45705ed3 --- /dev/null +++ b/sam2.1-hiera-large/model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc407dce21301fd94abb395c5099b4f2c455fdc8a8f261ac3d0ea6d4cd197230 +size 897897416 diff --git a/sam2.1-hiera-large/preprocessor_config.json b/sam2.1-hiera-large/preprocessor_config.json new file mode 100644 index 0000000000000000000000000000000000000000..8499e53cb79bf1786a890021550e6994b9808f39 --- /dev/null +++ b/sam2.1-hiera-large/preprocessor_config.json @@ -0,0 +1,36 @@ +{ + "crop_size": null, + "data_format": "channels_first", + "default_to_square": true, + "device": null, + "disable_grouping": null, + "do_center_crop": null, + "do_convert_rgb": true, + "do_normalize": true, + "do_rescale": true, + "do_resize": true, + "image_mean": [ + 0.485, + 0.456, + 0.406 + ], + "image_processor_type": "Sam2ImageProcessorFast", + "image_std": [ + 0.229, + 0.224, + 0.225 + ], + "input_data_format": null, + "mask_size": { + "height": 256, + "width": 256 + }, + "processor_class": "Sam2VideoProcessor", + "resample": 2, + "rescale_factor": 0.00392156862745098, + "return_tensors": null, + "size": { + "height": 1024, + "width": 1024 + } +} diff --git a/sam2.1-hiera-large/processor_config.json b/sam2.1-hiera-large/processor_config.json new file mode 100644 index 0000000000000000000000000000000000000000..7556f607c3581a19f545de09d8b3fc98502b9f36 --- /dev/null +++ b/sam2.1-hiera-large/processor_config.json @@ -0,0 +1,5 @@ +{ + "point_pad_value": -10, + "processor_class": "Sam2VideoProcessor", + "target_size": 1024 +} diff --git a/sam2.1-hiera-large/sam2.1_hiera_l.yaml b/sam2.1-hiera-large/sam2.1_hiera_l.yaml new file mode 100644 index 0000000000000000000000000000000000000000..33c9097f34ea90beae52776eb88ad8eb1632ab66 --- /dev/null +++ b/sam2.1-hiera-large/sam2.1_hiera_l.yaml @@ -0,0 +1,120 @@ +# @package _global_ + +# Model +model: + _target_: sam2.modeling.sam2_base.SAM2Base + image_encoder: + _target_: sam2.modeling.backbones.image_encoder.ImageEncoder + scalp: 1 + trunk: + _target_: sam2.modeling.backbones.hieradet.Hiera + embed_dim: 144 + num_heads: 2 + stages: [2, 6, 36, 4] + global_att_blocks: [23, 33, 43] + window_pos_embed_bkg_spatial_size: [7, 7] + window_spec: [8, 4, 16, 8] + neck: + _target_: sam2.modeling.backbones.image_encoder.FpnNeck + position_encoding: + _target_: sam2.modeling.position_encoding.PositionEmbeddingSine + num_pos_feats: 256 + normalize: true + scale: null + temperature: 10000 + d_model: 256 + backbone_channel_list: [1152, 576, 288, 144] + fpn_top_down_levels: [2, 3] # output level 0 and 1 directly use the backbone features + fpn_interp_model: nearest + + memory_attention: + _target_: sam2.modeling.memory_attention.MemoryAttention + d_model: 256 + pos_enc_at_input: true + layer: + _target_: sam2.modeling.memory_attention.MemoryAttentionLayer + activation: relu + dim_feedforward: 2048 + dropout: 0.1 + pos_enc_at_attn: false + self_attention: + _target_: sam2.modeling.sam.transformer.RoPEAttention + rope_theta: 10000.0 + feat_sizes: [32, 32] + embedding_dim: 256 + num_heads: 1 + downsample_rate: 1 + dropout: 0.1 + d_model: 256 + pos_enc_at_cross_attn_keys: true + pos_enc_at_cross_attn_queries: false + cross_attention: + _target_: sam2.modeling.sam.transformer.RoPEAttention + rope_theta: 10000.0 + feat_sizes: [32, 32] + rope_k_repeat: True + embedding_dim: 256 + num_heads: 1 + downsample_rate: 1 + dropout: 0.1 + kv_in_dim: 64 + num_layers: 4 + + memory_encoder: + _target_: sam2.modeling.memory_encoder.MemoryEncoder + out_dim: 64 + position_encoding: + _target_: sam2.modeling.position_encoding.PositionEmbeddingSine + num_pos_feats: 64 + normalize: true + scale: null + temperature: 10000 + mask_downsampler: + _target_: sam2.modeling.memory_encoder.MaskDownSampler + kernel_size: 3 + stride: 2 + padding: 1 + fuser: + _target_: sam2.modeling.memory_encoder.Fuser + layer: + _target_: sam2.modeling.memory_encoder.CXBlock + dim: 256 + kernel_size: 7 + padding: 3 + layer_scale_init_value: 1e-6 + use_dwconv: True # depth-wise convs + num_layers: 2 + + num_maskmem: 7 + image_size: 1024 + # apply scaled sigmoid on mask logits for memory encoder, and directly feed input mask as output mask + sigmoid_scale_for_mem_enc: 20.0 + sigmoid_bias_for_mem_enc: -10.0 + use_mask_input_as_output_without_sam: true + # Memory + directly_add_no_mem_embed: true + no_obj_embed_spatial: true + # use high-resolution feature map in the SAM mask decoder + use_high_res_features_in_sam: true + # output 3 masks on the first click on initial conditioning frames + multimask_output_in_sam: true + # SAM heads + iou_prediction_use_sigmoid: True + # cross-attend to object pointers from other frames (based on SAM output tokens) in the encoder + use_obj_ptrs_in_encoder: true + add_tpos_enc_to_obj_ptrs: true + proj_tpos_enc_in_obj_ptrs: true + use_signed_tpos_enc_to_obj_ptrs: true + only_obj_ptrs_in_the_past_for_eval: true + # object occlusion prediction + pred_obj_scores: true + pred_obj_scores_mlp: true + fixed_no_obj_ptr: true + # multimask tracking settings + multimask_output_for_tracking: true + use_multimask_token_for_obj_ptr: true + multimask_min_pt_num: 0 + multimask_max_pt_num: 1 + use_mlp_for_obj_ptr_proj: true + # Compilation flag + compile_image_encoder: False diff --git a/sam2.1-hiera-large/sam2.1_hiera_large.pt b/sam2.1-hiera-large/sam2.1_hiera_large.pt new file mode 100644 index 0000000000000000000000000000000000000000..a4229617ddc0bd034440718c11588c0bbcf85a70 --- /dev/null +++ b/sam2.1-hiera-large/sam2.1_hiera_large.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2647878d5dfa5098f2f8649825738a9345572bae2d4350a2468587ece47dd318 +size 898083611 diff --git a/sam2.1-hiera-large/video_preprocessor_config.json b/sam2.1-hiera-large/video_preprocessor_config.json new file mode 100644 index 0000000000000000000000000000000000000000..aceb9b5b612e726cea11ae4db21c0964629aac3a --- /dev/null +++ b/sam2.1-hiera-large/video_preprocessor_config.json @@ -0,0 +1,36 @@ +{ + "crop_size": null, + "data_format": "channels_first", + "default_to_square": true, + "device": null, + "do_center_crop": null, + "do_convert_rgb": true, + "do_normalize": true, + "do_pad": null, + "do_rescale": true, + "do_resize": true, + "do_sample_frames": null, + "fps": null, + "image_mean": [ + 0.485, + 0.456, + 0.406 + ], + "image_std": [ + 0.229, + 0.224, + 0.225 + ], + "input_data_format": null, + "num_frames": null, + "processor_class": "Sam2VideoProcessor", + "resample": 2, + "rescale_factor": 0.00392156862745098, + "size": { + "height": 1024, + "width": 1024 + }, + "size_divisor": null, + "video_metadata": null, + "video_processor_type": "Sam2VideoVideoProcessor" +}