From de9dca93bbdacff44583fda86d5e9539572d8fff Mon Sep 17 00:00:00 2001 From: raykindle Date: Wed, 30 Apr 2025 17:10:09 +0800 Subject: [PATCH] feat: init --- .gitignore | 34 ++ README.md | 135 +++++++ README_CN.md | 135 +++++++ __init__.py | 12 + examples/0000.jpg | Bin 0 -> 243187 bytes examples/0001.jpg | Bin 0 -> 250517 bytes examples/step1x_edit_example.json | 196 +++++++++ modules/__init__.py | 0 modules/attention.py | 133 +++++++ modules/autoencoder.py | 326 +++++++++++++++ modules/conditioner.py | 217 ++++++++++ modules/connector_edit.py | 486 +++++++++++++++++++++++ modules/layers.py | 639 ++++++++++++++++++++++++++++++ modules/model_edit.py | 143 +++++++ nodes/__init__.py | 1 + nodes/step1x_edit_nodes.py | 338 ++++++++++++++++ requirements.txt | 7 + utils/__init__.py | 1 + utils/get_flash_attn.py | 59 +++ utils/model_loader.py | 120 ++++++ utils/sampling.py | 47 +++ utils/step1x_edit_utils.py | 24 ++ 22 files changed, 3053 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 README_CN.md create mode 100644 __init__.py create mode 100644 examples/0000.jpg create mode 100644 examples/0001.jpg create mode 100644 examples/step1x_edit_example.json create mode 100644 modules/__init__.py create mode 100644 modules/attention.py create mode 100644 modules/autoencoder.py create mode 100644 modules/conditioner.py create mode 100644 modules/connector_edit.py create mode 100644 modules/layers.py create mode 100644 modules/model_edit.py create mode 100644 nodes/__init__.py create mode 100644 nodes/step1x_edit_nodes.py create mode 100644 requirements.txt create mode 100644 utils/__init__.py create mode 100644 utils/get_flash_attn.py create mode 100644 utils/model_loader.py create mode 100644 utils/sampling.py create mode 100644 utils/step1x_edit_utils.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7472c7a --- /dev/null +++ b/.gitignore @@ -0,0 +1,34 @@ +# Python cache files +__pycache__/ +*.py[cod] +*$py.class + +# Distribution / packaging +dist/ +build/ +*.egg-info/ + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Models and data +models/ +outputs/ + +# IDE specific files +.idea/ +.vscode/ +*.swp +*.swo + +# OS specific files +.DS_Store +Thumbs.db + +refer_src/ \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..44d89c6 --- /dev/null +++ b/README.md @@ -0,0 +1,135 @@ +# ComfyUI_Step1X-Edit + +[English](README.md) | [中文文档](README_CN.md) + +This custom node integrates the [Step1X-Edit](https://github.com/stepfun-ai/Step1X-Edit) image editing model into [ComfyUI](https://github.com/comfyanonymous/ComfyUI). Step1X-Edit is a state-of-the-art image editing model that processes a reference image and user's editing instruction to generate a new image. + +## Features + +- Load and use Step1X-Edit models in ComfyUI +- Edit images with natural language instructions +- Control the editing process with parameters like steps and guidance scale + +## Examples + +Here are some examples of what you can achieve with ComfyUI_Step1X-Edit: + +| Example 1 | Example 2 | +|:-----------:|:------------:| +| ![Example Image1](examples/0000.jpg) | ![Example Image2](examples/0001.jpg) | + +- Example 1: The corresponding prompt was: "给这个女生的脖子上戴一个带有红宝石的吊坠。" ("Add pendant with a ruby around this girl's neck.") +- Example 2: The corresponding prompt was: "让她哭。" ("Let her cry.") + +You can find the example workflow in the [examples directory](examples/step1x_edit_example.json). Load it directly into ComfyUI to see how it works. + +## Installation + +1. Clone this repository into your ComfyUI's `custom_nodes` directory: + +```bash +cd ComfyUI/custom_nodes +git clone https://github.com/raykindle/ComfyUI_Step1X-Edit.git +``` + +2. Install the required dependencies: +Step 1: Install ComfyUI_Step1X-Edit +```bash +cd ComfyUI_Step1X-Edit +pip install -r requirements.txt +``` + +Step 2: Install [`flash-attn`](https://github.com/Dao-AILab/flash-attention), here we provide a script to help find the pre-built wheel suitable for your system. + +```bash +python utils/get_flash_attn.py +``` + +The script will generate a wheel name like `flash_attn-2.7.2.post1+cu12torch2.5cxx11abiFALSE-cp310-cp310-linux_x86_64.whl`, which could be found in [the release page of flash-attn](https://github.com/Dao-AILab/flash-attention/releases). + +Then you can download the corresponding pre-built wheel and install it following the instructions in [`flash-attn`](https://github.com/Dao-AILab/flash-attention). + + +3. Download the Step1X-Edit-FP8 model: + - Step1X-Edit diffusion model: Download `step1x-edit-i1258-FP8.safetensors` from [HuggingFace](https://huggingface.co/meimeilook/Step1X-Edit-FP8/tree/main) and place it in ComfyUI's `models/diffusion_models` directory + - Step1X-Edit VAE: Download `vae.safetensors` from [HuggingFace](https://huggingface.co/meimeilook/Step1X-Edit-FP8/tree/main) and place it in ComfyUI's `models/vae` directory + - Qwen2.5-VL model: Download [Qwen2.5-VL-7B-Instruct](https://huggingface.co/Qwen/Qwen2.5-VL-7B-Instruct/tree/main) and place it in ComfyUI's `models/text_encoders/Qwen2.5-VL-7B-Instruct` directory + +## Usage + +1. Start ComfyUI and create a new workflow. +2. Add the "Step1X-Edit Model Loader" node to your workflow. +3. Configure the model parameters: + - Select `step1x-edit-i1258-FP8.safetensors` as the diffusion model + - Select `vae.safetensors` as the VAE + - Set "Qwen2.5-VL-7B-Instruct" as the text encoder + - Set additional parameters (dtype, quantized, offload) as needed +4. Connect an "Step1X-Edit Generate" node to the model node. +5. Provide an input image and an editing prompt. +6. Run the workflow to generate edited images. + +## Example Workflow + +Here's a simple example workflow: + +1. Load Image → Step1X-Edit Generate +2. Step1X-Edit Model Loader → Step1X-Edit Generate +3. Step1X-Edit Generate → Preview Image + +## Parameters + +### Step1X-Edit Model Loader + +- `diffusion_model`: The Step1X-Edit diffusion model file (select from the diffusion_models dropdown) +- `vae`: The Step1X-Edit VAE file (select from the vae dropdown) +- `text_encoder`: The path to the Qwen2.5-VL model directory name (e.g., "Qwen2.5-VL-7B-Instruct") +- `dtype`: Model precision (bfloat16, float16, or float32) +- `quantized`: Whether to use FP8 quantized weights (true recommended) +- `offload`: Whether to offload models to CPU when not in use + +### Step1X-Edit Generate + +- `model`: The Step1X-Edit model bundle +- `image`: The input image to edit +- `prompt`: Text instructions describing the desired edit +- `negative_prompt`: Text describing what to avoid +- `steps`: Number of denoising steps (more steps = better quality but slower) +- `cfg_scale`: Guidance scale (how closely to follow the prompt) +- `image_size`: Size of the output image (512 recommended) +- `seed`: Random seed for reproducibility + +## Memory Requirements + +The Step1X-Edit model requires significant GPU memory: + +| Model Version | Peak GPU Memory (512px / 768px / 1024px) | +|:-------------:|:----------------------------------------:| +| Standard | 42.5GB / 46.5GB / 49.8GB | +| FP8 Quantized | 31GB / 31.5GB / 34GB | +| With Offload | 25.9GB / 27.3GB / 29.1GB | +| FP8 + Offload | 18GB / 18GB / 18GB | + +For lower memory usage, enable the `quantized` and/or `offload` options in the Model Loader node. + +## Troubleshooting + +- If you encounter CUDA out of memory errors, try: + - Enabling the `offload` option + - Using the FP8 quantized model + - Reducing the image size + - Closing other GPU-intensive applications +- If you get errors about missing files: + - Make sure your model paths are correct + - The diffusion model should be in `models/diffusion_models` + - The VAE should be in `models/vae` + - The text encoder should be in `models/text_encoders/Qwen2.5-VL-7B-Instruct` +- If you get import errors, ensure all dependencies are installed correctly + +## License + +This custom node is licensed under the Apache License 2.0, consistent with the original Step1X-Edit repository. + +## Acknowledgements + +- The Step1X-Edit team for creating the original model +- ComfyUI for the extensible UI framework diff --git a/README_CN.md b/README_CN.md new file mode 100644 index 0000000..e0aa61d --- /dev/null +++ b/README_CN.md @@ -0,0 +1,135 @@ +# ComfyUI_Step1X-Edit + +[English](README.md) | [中文文档](README_CN.md) + +此自定义节点将 [Step1X-Edit](https://github.com/stepfun-ai/Step1X-Edit) 图像编辑模型集成到 [ComfyUI](https://github.com/comfyanonymous/ComfyUI) 中。Step1X-Edit 是一个先进的图像编辑模型,它接收参考图像和用户的编辑指令,生成新的图像。 + +## 功能特点 + +- 在 ComfyUI 中加载和使用 Step1X-Edit 模型 +- 使用自然语言指令编辑图像 +- 通过步数和引导系数等参数控制编辑过程 + +## 示例展示 + +以下是使用 ComfyUI_Step1X-Edit 可以实现的效果示例: + +| 示例 1 | 示例 2 | +|:-----------:|:------------:| +| ![示例图像1](examples/0000.jpg) | ![示例图像2](examples/0001.jpg) | + +- 示例 1:对应的提示词是:"给这个女生的脖子上戴一个带有红宝石的吊坠。" ("Add pendant with a ruby around this girl's neck.") +- 示例 2:对应的提示词是:"让她哭。" ("Let her cry.") + +您可以在[示例目录](examples/step1x_edit_example.json)中找到示例工作流。直接将其加载到 ComfyUI 中即可查看其工作原理。 + +## 安装方法 + +1. 将此仓库克隆到 ComfyUI 的 `custom_nodes` 目录中: + +```bash +cd ComfyUI/custom_nodes +git clone https://github.com/raykindle/ComfyUI_Step1X-Edit.git +``` + +2. 安装所需依赖: +步骤 1: 安装 ComfyUI_Step1X-Edit +```bash +cd ComfyUI_Step1X-Edit +pip install -r requirements.txt +``` + +步骤 2: 安装 [`flash-attn`](https://github.com/Dao-AILab/flash-attention),我们提供了一个脚本,帮助您找到适合您系统的预编译轮子。 + +```bash +python utils/get_flash_attn.py +``` + +该脚本将生成一个轮子名称,例如:`flash_attn-2.7.2.post1+cu12torch2.5cxx11abiFALSE-cp310-cp310-linux_x86_64.whl`,该名称可在 [flash-attn 的发布页面](https://github.com/Dao-AILab/flash-attention/releases) 中找到。 + +然后,您可以下载相应的预编译轮子,并按照 [`flash-attn`](https://github.com/Dao-AILab/flash-attention) 中的说明进行安装。 + + +3. 下载 Step1X-Edit-FP8 模型: + - Step1X-Edit 扩散模型:从 [HuggingFace](https://huggingface.co/meimeilook/Step1X-Edit-FP8/tree/main) 下载 `step1x-edit-i1258-FP8.safetensors` 并放置在 ComfyUI 的 `models/diffusion_models` 目录中 + - Step1X-Edit VAE:从 [HuggingFace](https://huggingface.co/meimeilook/Step1X-Edit-FP8/tree/main) 下载 `vae.safetensors` 并放置在 ComfyUI 的 `models/vae` 目录中 + - Qwen2.5-VL 模型:下载 [Qwen2.5-VL-7B-Instruct](https://huggingface.co/Qwen/Qwen2.5-VL-7B-Instruct/tree/main) 并放置在 ComfyUI 的 `models/text_encoders/Qwen2.5-VL-7B-Instruct` 目录中 + +## 使用方法 + +1. 启动 ComfyUI 并创建新的工作流。 +2. 添加 "Step1X-Edit Model Loader"(Step1X-Edit 模型加载器)节点到工作流中。 +3. 配置模型参数: + - 选择 `step1x-edit-i1258-FP8.safetensors` 作为扩散模型 + - 选择 `vae.safetensors` 作为 VAE + - 设置 "Qwen2.5-VL-7B-Instruct" 作为文本编码器 + - 根据需要设置其他参数(dtype、quantized、offload) +4. 连接 "Step1X-Edit Generate"(Step1X-Edit 生成)节点到模型节点。 +5. 提供输入图像和编辑提示。 +6. 运行工作流生成编辑后的图像。 + +## 工作流示例 + +以下是一个简单的工作流示例: + +1. Load Image(加载图像)→ Step1X-Edit Generate(Step1X-Edit 生成) +2. Step1X-Edit Model Loader(Step1X-Edit 模型加载器)→ Step1X-Edit Generate(Step1X-Edit 生成) +3. Step1X-Edit Generate(Step1X-Edit 生成)→ Preview Image(预览图像) + +## 参数说明 + +### Step1X-Edit Model Loader(Step1X-Edit 模型加载器) + +- `diffusion_model`:Step1X-Edit 扩散模型文件(从 diffusion_models 下拉菜单中选择) +- `vae`:Step1X-Edit VAE 文件(从 vae 下拉菜单中选择) +- `text_encoder`:Qwen2.5-VL 模型目录名称(例如 "Qwen2.5-VL-7B-Instruct") +- `dtype`:模型精度(bfloat16、float16 或 float32) +- `quantized`:是否使用 FP8 量化权重(推荐 开启) +- `offload`:在不使用时是否将模型卸载到 CPU + +### Step1X-Edit Generate(Step1X-Edit 生成) + +- `model_bundle`:Step1X-Edit 模型包 +- `input_image`:要编辑的输入图像 +- `prompt`:描述所需编辑的文本指令 +- `negative_prompt`:描述要避免的内容的文本 +- `num_steps`:去噪步数(更多步数 = 更好的质量但更慢) +- `cfg_guidance`:引导系数(控制对提示的遵循程度) +- `size_level`:输出图像大小(推荐 512) +- `seed`:随机种子,用于可重现性 + +## 内存需求 + +Step1X-Edit 模型需要相当大的 GPU 内存: + +| 模型版本 | 峰值 GPU 内存(512px / 768px / 1024px) | +|:-------------:|:----------------------------------------:| +| 标准版 | 42.5GB / 46.5GB / 49.8GB | +| FP8 量化版 | 31GB / 31.5GB / 34GB | +| 使用 Offload | 25.9GB / 27.3GB / 29.1GB | +| FP8 + Offload | 18GB / 18GB / 18GB | + +为了降低内存使用,请在模型加载器节点中启用 `quantized` 和/或 `offload` 选项。 + +## 故障排除 + +- 如果遇到 CUDA 内存不足错误,请尝试: + - 启用 `offload` 选项 + - 使用 FP8 量化模型 + - 减小图像大小 + - 关闭其他占用 GPU 的应用程序 +- 如果遇到文件缺失错误: + - 确保模型路径正确 + - 扩散模型应位于 `models/diffusion_models` + - VAE 应位于 `models/vae` + - 文本编码器应位于 `models/text_encoders/Qwen2.5-VL-7B-Instruct` +- 如果遇到导入错误,请确保所有依赖项都正确安装 + +## 许可证 + +此自定义节点采用 Apache License 2.0 许可,与原始 Step1X-Edit 仓库一致。 + +## 致谢 + +- 感谢 Step1X-Edit 团队创建原始模型 +- 感谢 ComfyUI 提供可扩展的 UI 框架 \ No newline at end of file diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..4b236d3 --- /dev/null +++ b/__init__.py @@ -0,0 +1,12 @@ +from .nodes.step1x_edit_nodes import Step1XEditModelLoader, Step1XEditGenerateNode + + +NODE_CLASS_MAPPINGS = { + "Step1XEditModelLoader": Step1XEditModelLoader, + "Step1XEditGenerate": Step1XEditGenerateNode +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "Step1XEditModelLoader": "Step1X-Edit Model Loader", + "Step1XEditGenerate": "Step1X-Edit Generate" +} \ No newline at end of file diff --git a/examples/0000.jpg b/examples/0000.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5973ebe8ad45affd15248394eaea2d8c8f867273 GIT binary patch literal 243187 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 E0l+T+CjbBd literal 0 HcmV?d00001 diff --git a/examples/step1x_edit_example.json b/examples/step1x_edit_example.json new file mode 100644 index 0000000..3452475 --- /dev/null +++ b/examples/step1x_edit_example.json @@ -0,0 +1,196 @@ +{ + "last_node_id": 10, + "last_link_id": 17, + "nodes": [ + { + "id": 2, + "type": "LoadImage", + "pos": [ + 745.9241333007812, + 676.44091796875 + ], + "size": [ + 210, + 299.4796447753906 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 15 + ], + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": null, + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "0001.png", + "image" + ] + }, + { + "id": 4, + "type": "PreviewImage", + "pos": [ + 961.9817504882812, + 358.0769958496094 + ], + "size": [ + 397.47607421875, + 618.7960815429688 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 17 + } + ], + "outputs": [], + "properties": { + "Node name for S&R": "PreviewImage" + }, + "widgets_values": [] + }, + { + "id": 9, + "type": "Step1XEditGenerate", + "pos": [ + 745.9320068359375, + 358.9280700683594 + ], + "size": [ + 210, + 282 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [ + { + "name": "model_bundle", + "type": "STEP1X_MODEL_BUNDLE", + "link": 16 + }, + { + "name": "input_image", + "type": "IMAGE", + "link": 15 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 17 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "Step1XEditGenerate" + }, + "widgets_values": [ + "让她哭。", + "", + 10, + 6, + 318, + "randomize", + 768 + ] + }, + { + "id": 10, + "type": "Step1XEditModelLoader", + "pos": [ + 744.1864624023438, + 127.32762908935547 + ], + "size": [ + 617.0538330078125, + 198.91787719726562 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "STEP1X_MODEL_BUNDLE", + "type": "STEP1X_MODEL_BUNDLE", + "links": [ + 16 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "Step1XEditModelLoader" + }, + "widgets_values": [ + "step1x-edit-i1258-FP8.safetensors", + "vae.safetensors", + "Qwen2.5-VL-7B-Instruct", + "bfloat16", + true, + false + ] + } + ], + "links": [ + [ + 15, + 2, + 0, + 9, + 1, + "IMAGE" + ], + [ + 16, + 10, + 0, + 9, + 0, + "STEP1X_MODEL_BUNDLE" + ], + [ + 17, + 9, + 0, + 4, + 0, + "IMAGE" + ] + ], + "groups": [], + "config": {}, + "extra": { + "ds": { + "scale": 0.7283845674106205, + "offset": [ + -159.39467322432967, + -30.630752842927603 + ] + } + }, + "version": 0.4 +} \ No newline at end of file diff --git a/modules/__init__.py b/modules/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/modules/attention.py b/modules/attention.py new file mode 100644 index 0000000..d2c6c43 --- /dev/null +++ b/modules/attention.py @@ -0,0 +1,133 @@ +import math + +import torch +import torch.nn.functional as F + + +try: + import flash_attn + from flash_attn.flash_attn_interface import ( + _flash_attn_forward, + flash_attn_func, + flash_attn_varlen_func, + ) +except ImportError: + flash_attn = None + flash_attn_varlen_func = None + _flash_attn_forward = None + flash_attn_func = None + +MEMORY_LAYOUT = { + # flash模式: + # 预处理: 输入 [batch_size, seq_len, num_heads, head_dim] + # 后处理: 保持形状不变 + "flash": ( + lambda x: x, # 保持形状 + lambda x: x, # 保持形状 + ), + # torch/vanilla模式: + # 预处理: 交换序列和注意力头的维度 [B,S,A,D] -> [B,A,S,D] + # 后处理: 交换回原始维度 [B,A,S,D] -> [B,S,A,D] + "torch": ( + lambda x: x.transpose(1, 2), # (B,S,A,D) -> (B,A,S,D) + lambda x: x.transpose(1, 2), # (B,A,S,D) -> (B,S,A,D) + ), + "vanilla": ( + lambda x: x.transpose(1, 2), + lambda x: x.transpose(1, 2), + ), +} + + +def attention( + q, + k, + v, + mode="flash", + drop_rate=0, + attn_mask=None, + causal=False, +): + """ + 执行QKV自注意力计算 + + Args: + q (torch.Tensor): 查询张量,形状 [batch_size, seq_len, num_heads, head_dim] + k (torch.Tensor): 键张量,形状 [batch_size, seq_len_kv, num_heads, head_dim] + v (torch.Tensor): 值张量,形状 [batch_size, seq_len_kv, num_heads, head_dim] + mode (str): 注意力模式,可选 'flash', 'torch', 'vanilla' + drop_rate (float): 注意力矩阵的dropout概率 + attn_mask (torch.Tensor): 注意力掩码,形状根据模式不同而变化 + causal (bool): 是否使用因果注意力(仅关注前面位置) + + Returns: + torch.Tensor: 注意力输出,形状 [batch_size, seq_len, num_heads * head_dim] + """ + # 获取预处理和后处理函数 + pre_attn_layout, post_attn_layout = MEMORY_LAYOUT[mode] + + # 应用预处理变换 + q = pre_attn_layout(q) # 形状根据模式变化 + k = pre_attn_layout(k) + v = pre_attn_layout(v) + + if mode == "torch": + # 使用PyTorch原生的scaled_dot_product_attention + if attn_mask is not None and attn_mask.dtype != torch.bool: + attn_mask = attn_mask.to(q.dtype) + x = F.scaled_dot_product_attention( + q, k, v, attn_mask=attn_mask, dropout_p=drop_rate, is_causal=causal + ) + elif mode == "flash": + assert flash_attn_func is not None, "flash_attn_func未定义" + assert attn_mask is None, "不支持的注意力掩码" + x: torch.Tensor = flash_attn_func( + q, k, v, dropout_p=drop_rate, causal=causal, softmax_scale=None + ) # type: ignore + elif mode == "vanilla": + # 手动实现注意力机制 + scale_factor = 1 / math.sqrt(q.size(-1)) # 缩放因子 1/sqrt(d_k) + + b, a, s, _ = q.shape # 获取形状参数 + s1 = k.size(2) # 键值序列长度 + + # 初始化注意力偏置 + attn_bias = torch.zeros(b, a, s, s1, dtype=q.dtype, device=q.device) + + # 处理因果掩码 + if causal: + assert attn_mask is None, "因果掩码和注意力掩码不能同时使用" + # 生成下三角因果掩码 + temp_mask = torch.ones(b, a, s, s, dtype=torch.bool, device=q.device).tril( + diagonal=0 + ) + attn_bias.masked_fill_(temp_mask.logical_not(), float("-inf")) + attn_bias = attn_bias.to(q.dtype) + + # 处理自定义注意力掩码 + if attn_mask is not None: + if attn_mask.dtype == torch.bool: + attn_bias.masked_fill_(attn_mask.logical_not(), float("-inf")) + else: + attn_bias += attn_mask # 允许类似ALiBi的位置偏置 + + # 计算注意力矩阵 + attn = (q @ k.transpose(-2, -1)) * scale_factor # [B,A,S,S1] + attn += attn_bias + + # softmax和dropout + attn = attn.softmax(dim=-1) + attn = torch.dropout(attn, p=drop_rate, train=True) + + # 计算输出 + x = attn @ v # [B,A,S,D] + else: + raise NotImplementedError(f"不支持的注意力模式: {mode}") + + # 应用后处理变换 + x = post_attn_layout(x) # 恢复原始维度顺序 + + # 合并注意力头维度 + b, s, a, d = x.shape + out = x.reshape(b, s, -1) # [B,S,A*D] + return out diff --git a/modules/autoencoder.py b/modules/autoencoder.py new file mode 100644 index 0000000..13d3d1f --- /dev/null +++ b/modules/autoencoder.py @@ -0,0 +1,326 @@ +# Modified from Flux +# +# Copyright 2024 Black Forest Labs + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. +import torch +from einops import rearrange +from torch import Tensor, nn + + +def swish(x: Tensor) -> Tensor: + return x * torch.sigmoid(x) + + +class AttnBlock(nn.Module): + def __init__(self, in_channels: int): + super().__init__() + self.in_channels = in_channels + + self.norm = nn.GroupNorm(num_groups=32, num_channels=in_channels, eps=1e-6, affine=True) + + self.q = nn.Conv2d(in_channels, in_channels, kernel_size=1) + self.k = nn.Conv2d(in_channels, in_channels, kernel_size=1) + self.v = nn.Conv2d(in_channels, in_channels, kernel_size=1) + self.proj_out = nn.Conv2d(in_channels, in_channels, kernel_size=1) + + def attention(self, h_: Tensor) -> Tensor: + h_ = self.norm(h_) + q = self.q(h_) + k = self.k(h_) + v = self.v(h_) + + b, c, h, w = q.shape + q = rearrange(q, "b c h w -> b 1 (h w) c").contiguous() + k = rearrange(k, "b c h w -> b 1 (h w) c").contiguous() + v = rearrange(v, "b c h w -> b 1 (h w) c").contiguous() + h_ = nn.functional.scaled_dot_product_attention(q, k, v) + + return rearrange(h_, "b 1 (h w) c -> b c h w", h=h, w=w, c=c, b=b) + + def forward(self, x: Tensor) -> Tensor: + return x + self.proj_out(self.attention(x)) + + +class ResnetBlock(nn.Module): + def __init__(self, in_channels: int, out_channels: int): + super().__init__() + self.in_channels = in_channels + out_channels = in_channels if out_channels is None else out_channels + self.out_channels = out_channels + + self.norm1 = nn.GroupNorm(num_groups=32, num_channels=in_channels, eps=1e-6, affine=True) + self.conv1 = nn.Conv2d(in_channels, out_channels, kernel_size=3, stride=1, padding=1) + self.norm2 = nn.GroupNorm(num_groups=32, num_channels=out_channels, eps=1e-6, affine=True) + self.conv2 = nn.Conv2d(out_channels, out_channels, kernel_size=3, stride=1, padding=1) + if self.in_channels != self.out_channels: + self.nin_shortcut = nn.Conv2d(in_channels, out_channels, kernel_size=1, stride=1, padding=0) + + def forward(self, x): + h = x + h = self.norm1(h) + h = swish(h) + h = self.conv1(h) + + h = self.norm2(h) + h = swish(h) + h = self.conv2(h) + + if self.in_channels != self.out_channels: + x = self.nin_shortcut(x) + + return x + h + + +class Downsample(nn.Module): + def __init__(self, in_channels: int): + super().__init__() + # no asymmetric padding in torch conv, must do it ourselves + self.conv = nn.Conv2d(in_channels, in_channels, kernel_size=3, stride=2, padding=0) + + def forward(self, x: Tensor): + pad = (0, 1, 0, 1) + x = nn.functional.pad(x, pad, mode="constant", value=0) + x = self.conv(x) + return x + + +class Upsample(nn.Module): + def __init__(self, in_channels: int): + super().__init__() + self.conv = nn.Conv2d(in_channels, in_channels, kernel_size=3, stride=1, padding=1) + + def forward(self, x: Tensor): + x = nn.functional.interpolate(x, scale_factor=2.0, mode="nearest") + x = self.conv(x) + return x + + +class Encoder(nn.Module): + def __init__( + self, + resolution: int, + in_channels: int, + ch: int, + ch_mult: list[int], + num_res_blocks: int, + z_channels: int, + ): + super().__init__() + self.ch = ch + self.num_resolutions = len(ch_mult) + self.num_res_blocks = num_res_blocks + self.resolution = resolution + self.in_channels = in_channels + # downsampling + self.conv_in = nn.Conv2d(in_channels, self.ch, kernel_size=3, stride=1, padding=1) + + curr_res = resolution + in_ch_mult = (1, *tuple(ch_mult)) + self.in_ch_mult = in_ch_mult + self.down = nn.ModuleList() + block_in = self.ch + for i_level in range(self.num_resolutions): + block = nn.ModuleList() + attn = nn.ModuleList() + block_in = ch * in_ch_mult[i_level] + block_out = ch * ch_mult[i_level] + for _ in range(self.num_res_blocks): + block.append(ResnetBlock(in_channels=block_in, out_channels=block_out)) + block_in = block_out + down = nn.Module() + down.block = block + down.attn = attn + if i_level != self.num_resolutions - 1: + down.downsample = Downsample(block_in) + curr_res = curr_res // 2 + self.down.append(down) + + # middle + self.mid = nn.Module() + self.mid.block_1 = ResnetBlock(in_channels=block_in, out_channels=block_in) + self.mid.attn_1 = AttnBlock(block_in) + self.mid.block_2 = ResnetBlock(in_channels=block_in, out_channels=block_in) + + # end + self.norm_out = nn.GroupNorm(num_groups=32, num_channels=block_in, eps=1e-6, affine=True) + self.conv_out = nn.Conv2d(block_in, 2 * z_channels, kernel_size=3, stride=1, padding=1) + + def forward(self, x: Tensor) -> Tensor: + # downsampling + hs = [self.conv_in(x)] + for i_level in range(self.num_resolutions): + for i_block in range(self.num_res_blocks): + h = self.down[i_level].block[i_block](hs[-1]) + if len(self.down[i_level].attn) > 0: + h = self.down[i_level].attn[i_block](h) + hs.append(h) + if i_level != self.num_resolutions - 1: + hs.append(self.down[i_level].downsample(hs[-1])) + + # middle + h = hs[-1] + h = self.mid.block_1(h) + h = self.mid.attn_1(h) + h = self.mid.block_2(h) + # end + h = self.norm_out(h) + h = swish(h) + h = self.conv_out(h) + return h + + +class Decoder(nn.Module): + def __init__( + self, + ch: int, + out_ch: int, + ch_mult: list[int], + num_res_blocks: int, + in_channels: int, + resolution: int, + z_channels: int, + ): + super().__init__() + self.ch = ch + self.num_resolutions = len(ch_mult) + self.num_res_blocks = num_res_blocks + self.resolution = resolution + self.in_channels = in_channels + self.ffactor = 2 ** (self.num_resolutions - 1) + + # compute in_ch_mult, block_in and curr_res at lowest res + block_in = ch * ch_mult[self.num_resolutions - 1] + curr_res = resolution // 2 ** (self.num_resolutions - 1) + self.z_shape = (1, z_channels, curr_res, curr_res) + + # z to block_in + self.conv_in = nn.Conv2d(z_channels, block_in, kernel_size=3, stride=1, padding=1) + + # middle + self.mid = nn.Module() + self.mid.block_1 = ResnetBlock(in_channels=block_in, out_channels=block_in) + self.mid.attn_1 = AttnBlock(block_in) + self.mid.block_2 = ResnetBlock(in_channels=block_in, out_channels=block_in) + + # upsampling + self.up = nn.ModuleList() + for i_level in reversed(range(self.num_resolutions)): + block = nn.ModuleList() + attn = nn.ModuleList() + block_out = ch * ch_mult[i_level] + for _ in range(self.num_res_blocks + 1): + block.append(ResnetBlock(in_channels=block_in, out_channels=block_out)) + block_in = block_out + up = nn.Module() + up.block = block + up.attn = attn + if i_level != 0: + up.upsample = Upsample(block_in) + curr_res = curr_res * 2 + self.up.insert(0, up) # prepend to get consistent order + + # end + self.norm_out = nn.GroupNorm(num_groups=32, num_channels=block_in, eps=1e-6, affine=True) + self.conv_out = nn.Conv2d(block_in, out_ch, kernel_size=3, stride=1, padding=1) + + def forward(self, z: Tensor) -> Tensor: + # z to block_in + h = self.conv_in(z) + + # middle + h = self.mid.block_1(h) + h = self.mid.attn_1(h) + h = self.mid.block_2(h) + + # upsampling + for i_level in reversed(range(self.num_resolutions)): + for i_block in range(self.num_res_blocks + 1): + h = self.up[i_level].block[i_block](h) + if len(self.up[i_level].attn) > 0: + h = self.up[i_level].attn[i_block](h) + if i_level != 0: + h = self.up[i_level].upsample(h) + + # end + h = self.norm_out(h) + h = swish(h) + h = self.conv_out(h) + return h + + +class DiagonalGaussian(nn.Module): + def __init__(self, sample: bool = True, chunk_dim: int = 1): + super().__init__() + self.sample = sample + self.chunk_dim = chunk_dim + + def forward(self, z: Tensor) -> Tensor: + mean, logvar = torch.chunk(z, 2, dim=self.chunk_dim) + if self.sample: + std = torch.exp(0.5 * logvar) + return mean + std * torch.randn_like(mean) + else: + return mean + + +class AutoEncoder(nn.Module): + def __init__( + self, + resolution: int, + in_channels: int, + ch: int, + out_ch: int, + ch_mult: list[int], + num_res_blocks: int, + z_channels: int, + scale_factor: float, + shift_factor: float, + ): + super().__init__() + self.encoder = Encoder( + resolution=resolution, + in_channels=in_channels, + ch=ch, + ch_mult=ch_mult, + num_res_blocks=num_res_blocks, + z_channels=z_channels, + ) + self.decoder = Decoder( + resolution=resolution, + in_channels=in_channels, + ch=ch, + out_ch=out_ch, + ch_mult=ch_mult, + num_res_blocks=num_res_blocks, + z_channels=z_channels, + ) + self.reg = DiagonalGaussian() + + self.scale_factor = scale_factor + self.shift_factor = shift_factor + + def encode(self, x: Tensor) -> Tensor: + z = self.reg(self.encoder(x)) + z = self.scale_factor * (z - self.shift_factor) + return z + + def decode(self, z: Tensor) -> Tensor: + z = z / self.scale_factor + self.shift_factor + return self.decoder(z) + + def forward(self, x: Tensor) -> Tensor: + return self.decode(self.encode(x)) diff --git a/modules/conditioner.py b/modules/conditioner.py new file mode 100644 index 0000000..d69919f --- /dev/null +++ b/modules/conditioner.py @@ -0,0 +1,217 @@ +import torch +from qwen_vl_utils import process_vision_info +from transformers import ( + AutoProcessor, + Qwen2VLForConditionalGeneration, + Qwen2_5_VLForConditionalGeneration, +) +from torchvision.transforms import ToPILImage + +to_pil = ToPILImage() + +Qwen25VL_7b_PREFIX = '''Given a user prompt, generate an "Enhanced prompt" that provides detailed visual descriptions suitable for image generation. Evaluate the level of detail in the user prompt: +- If the prompt is simple, focus on adding specifics about colors, shapes, sizes, textures, and spatial relationships to create vivid and concrete scenes. +- If the prompt is already detailed, refine and enhance the existing details slightly without overcomplicating.\n +Here are examples of how to transform or refine prompts: +- User Prompt: A cat sleeping -> Enhanced: A small, fluffy white cat curled up in a round shape, sleeping peacefully on a warm sunny windowsill, surrounded by pots of blooming red flowers. +- User Prompt: A busy city street -> Enhanced: A bustling city street scene at dusk, featuring glowing street lamps, a diverse crowd of people in colorful clothing, and a double-decker bus passing by towering glass skyscrapers.\n +Please generate only the enhanced description for the prompt below and avoid including any additional commentary or evaluations: +User Prompt:''' + + +def split_string(s): + # 将中文引号替换为英文引号 + s = s.replace("“", '"').replace("”", '"') # use english quotes + result = [] + # 标记是否在引号内 + in_quotes = False + temp = "" + + # 遍历字符串中的每个字符及其索引 + for idx, char in enumerate(s): + # 如果字符是引号且索引大于 155 + if char == '"' and idx > 155: + # 将引号添加到临时字符串 + temp += char + # 如果不在引号内 + if not in_quotes: + # 将临时字符串添加到结果列表 + result.append(temp) + # 清空临时字符串 + temp = "" + + # 切换引号状态 + in_quotes = not in_quotes + continue + # 如果在引号内 + if in_quotes: + # 如果字符是空格 + if char.isspace(): + pass # have space token + + # 将字符用中文引号包裹后添加到结果列表 + result.append("“" + char + "”") + else: + # 将字符添加到临时字符串 + temp += char + + # 如果临时字符串不为空 + if temp: + # 将临时字符串添加到结果列表 + result.append(temp) + + return result + + +class Qwen25VL_7b_Embedder(torch.nn.Module): + def __init__(self, model_path, max_length=640, dtype=torch.bfloat16, device="cuda"): + super(Qwen25VL_7b_Embedder, self).__init__() + self.max_length = max_length + self.dtype = dtype + self.device = device + + print(f"Qwen25VL model run on current device: {torch.cuda.current_device()}") + self.model = Qwen2_5_VLForConditionalGeneration.from_pretrained( + model_path, + torch_dtype=dtype, + attn_implementation="flash_attention_2" + ).to(torch.cuda.current_device()) + + self.model.requires_grad_(False) + self.processor = AutoProcessor.from_pretrained( + model_path, min_pixels=256 * 28 * 28, max_pixels=324 * 28 * 28, use_fast=True + ) + + self.prefix = Qwen25VL_7b_PREFIX + + def forward(self, caption, ref_images): + text_list = caption + embs = torch.zeros( + len(text_list), + self.max_length, + self.model.config.hidden_size, + dtype=torch.bfloat16, + device=torch.cuda.current_device(), + ) + hidden_states = torch.zeros( + len(text_list), + self.max_length, + self.model.config.hidden_size, + dtype=torch.bfloat16, + device=torch.cuda.current_device(), + ) + masks = torch.zeros( + len(text_list), + self.max_length, + dtype=torch.long, + device=torch.cuda.current_device(), + ) + input_ids_list = [] + attention_mask_list = [] + emb_list = [] + + def split_string(s): + s = s.replace("“", '"').replace("”", '"').replace("'", '''"''') # use english quotes + result = [] + in_quotes = False + temp = "" + + for idx,char in enumerate(s): + if char == '"' and idx>155: + temp += char + if not in_quotes: + result.append(temp) + temp = "" + + in_quotes = not in_quotes + continue + if in_quotes: + if char.isspace(): + pass # have space token + + result.append("“" + char + "”") + else: + temp += char + + if temp: + result.append(temp) + + return result + + for idx, (txt, imgs) in enumerate(zip(text_list, ref_images)): + + messages = [{"role": "user", "content": []}] + + messages[0]["content"].append({"type": "text", "text": f"{self.prefix}"}) + + messages[0]["content"].append({"type": "image", "image": to_pil(imgs)}) + + # 再添加 text + messages[0]["content"].append({"type": "text", "text": f"{txt}"}) + + # Preparation for inference + text = self.processor.apply_chat_template( + messages, tokenize=False, add_generation_prompt=True, add_vision_id=True + ) + + image_inputs, video_inputs = process_vision_info(messages) + + inputs = self.processor( + text=[text], + images=image_inputs, + padding=True, + return_tensors="pt", + ) + + old_inputs_ids = inputs.input_ids + text_split_list = split_string(text) + + token_list = [] + for text_each in text_split_list: + txt_inputs = self.processor( + text=text_each, + images=None, + videos=None, + padding=True, + return_tensors="pt", + ) + token_each = txt_inputs.input_ids + if token_each[0][0] == 2073 and token_each[0][-1] == 854: + token_each = token_each[:, 1:-1] + token_list.append(token_each) + else: + token_list.append(token_each) + + new_txt_ids = torch.cat(token_list, dim=1).to("cuda") + + new_txt_ids = new_txt_ids.to(old_inputs_ids.device) + + idx1 = (old_inputs_ids == 151653).nonzero(as_tuple=True)[1][0] + idx2 = (new_txt_ids == 151653).nonzero(as_tuple=True)[1][0] + inputs.input_ids = ( + torch.cat([old_inputs_ids[0, :idx1], new_txt_ids[0, idx2:]], dim=0) + .unsqueeze(0) + .to("cuda") + ) + inputs.attention_mask = (inputs.input_ids > 0).long().to("cuda") + outputs = self.model( + input_ids=inputs.input_ids, + attention_mask=inputs.attention_mask, + pixel_values=inputs.pixel_values.to("cuda"), + image_grid_thw=inputs.image_grid_thw.to("cuda"), + output_hidden_states=True, + ) + + emb = outputs["hidden_states"][-1] + + embs[idx, : min(self.max_length, emb.shape[1] - 217)] = emb[0, 217:][ + : self.max_length + ] + + masks[idx, : min(self.max_length, emb.shape[1] - 217)] = torch.ones( + (min(self.max_length, emb.shape[1] - 217)), + dtype=torch.long, + device=torch.cuda.current_device(), + ) + + return embs, masks \ No newline at end of file diff --git a/modules/connector_edit.py b/modules/connector_edit.py new file mode 100644 index 0000000..a1e4963 --- /dev/null +++ b/modules/connector_edit.py @@ -0,0 +1,486 @@ +from typing import Optional + +import torch +import torch.nn +from einops import rearrange +from torch import nn + +from .layers import MLP, TextProjection, TimestepEmbedder, apply_gate, attention + + +class RMSNorm(nn.Module): + def __init__( + self, + dim: int, + elementwise_affine=True, + eps: float = 1e-6, + device=None, + dtype=None, + ): + """ + Initialize the RMSNorm normalization layer. + + Args: + dim (int): The dimension of the input tensor. + eps (float, optional): A small value added to the denominator for numerical stability. Default is 1e-6. + + Attributes: + eps (float): A small value added to the denominator for numerical stability. + weight (nn.Parameter): Learnable scaling parameter. + + """ + factory_kwargs = {"device": device, "dtype": dtype} + super().__init__() + self.eps = eps + if elementwise_affine: + self.weight = nn.Parameter(torch.ones(dim, **factory_kwargs)) + + def _norm(self, x): + """ + Apply the RMSNorm normalization to the input tensor. + + Args: + x (torch.Tensor): The input tensor. + + Returns: + torch.Tensor: The normalized tensor. + + """ + return x * torch.rsqrt(x.pow(2).mean(-1, keepdim=True) + self.eps) + + def forward(self, x): + """ + Forward pass through the RMSNorm layer. + + Args: + x (torch.Tensor): The input tensor. + + Returns: + torch.Tensor: The output tensor after applying RMSNorm. + + """ + output = self._norm(x.float()).type_as(x) + if hasattr(self, "weight"): + output = output * self.weight + return output + + +def get_norm_layer(norm_layer): + """ + Get the normalization layer. + + Args: + norm_layer (str): The type of normalization layer. + + Returns: + norm_layer (nn.Module): The normalization layer. + """ + if norm_layer == "layer": + return nn.LayerNorm + elif norm_layer == "rms": + return RMSNorm + else: + raise NotImplementedError(f"Norm layer {norm_layer} is not implemented") + + +def get_activation_layer(act_type): + """get activation layer + + Args: + act_type (str): the activation type + + Returns: + torch.nn.functional: the activation layer + """ + if act_type == "gelu": + return lambda: nn.GELU() + elif act_type == "gelu_tanh": + return lambda: nn.GELU(approximate="tanh") + elif act_type == "relu": + return nn.ReLU + elif act_type == "silu": + return nn.SiLU + else: + raise ValueError(f"Unknown activation type: {act_type}") + +class IndividualTokenRefinerBlock(torch.nn.Module): + def __init__( + self, + hidden_size, + heads_num, + mlp_width_ratio: str = 4.0, + mlp_drop_rate: float = 0.0, + act_type: str = "silu", + qk_norm: bool = False, + qk_norm_type: str = "layer", + qkv_bias: bool = True, + need_CA: bool = False, + dtype: Optional[torch.dtype] = None, + device: Optional[torch.device] = None, + ): + factory_kwargs = {"device": device, "dtype": dtype} + super().__init__() + self.need_CA = need_CA + self.heads_num = heads_num + head_dim = hidden_size // heads_num + mlp_hidden_dim = int(hidden_size * mlp_width_ratio) + + self.norm1 = nn.LayerNorm( + hidden_size, elementwise_affine=True, eps=1e-6, **factory_kwargs + ) + self.self_attn_qkv = nn.Linear( + hidden_size, hidden_size * 3, bias=qkv_bias, **factory_kwargs + ) + qk_norm_layer = get_norm_layer(qk_norm_type) + self.self_attn_q_norm = ( + qk_norm_layer(head_dim, elementwise_affine=True, eps=1e-6, **factory_kwargs) + if qk_norm + else nn.Identity() + ) + self.self_attn_k_norm = ( + qk_norm_layer(head_dim, elementwise_affine=True, eps=1e-6, **factory_kwargs) + if qk_norm + else nn.Identity() + ) + self.self_attn_proj = nn.Linear( + hidden_size, hidden_size, bias=qkv_bias, **factory_kwargs + ) + + self.norm2 = nn.LayerNorm( + hidden_size, elementwise_affine=True, eps=1e-6, **factory_kwargs + ) + act_layer = get_activation_layer(act_type) + self.mlp = MLP( + in_channels=hidden_size, + hidden_channels=mlp_hidden_dim, + act_layer=act_layer, + drop=mlp_drop_rate, + **factory_kwargs, + ) + + self.adaLN_modulation = nn.Sequential( + act_layer(), + nn.Linear(hidden_size, 2 * hidden_size, bias=True, **factory_kwargs), + ) + + if self.need_CA: + self.cross_attnblock=CrossAttnBlock(hidden_size=hidden_size, + heads_num=heads_num, + mlp_width_ratio=mlp_width_ratio, + mlp_drop_rate=mlp_drop_rate, + act_type=act_type, + qk_norm=qk_norm, + qk_norm_type=qk_norm_type, + qkv_bias=qkv_bias, + **factory_kwargs,) + # Zero-initialize the modulation + nn.init.zeros_(self.adaLN_modulation[1].weight) + nn.init.zeros_(self.adaLN_modulation[1].bias) + + def forward( + self, + x: torch.Tensor, + c: torch.Tensor, # timestep_aware_representations + context_aware_representations + attn_mask: torch.Tensor = None, + y: torch.Tensor = None, + ): + gate_msa, gate_mlp = self.adaLN_modulation(c).chunk(2, dim=1) + + norm_x = self.norm1(x) + qkv = self.self_attn_qkv(norm_x) + q, k, v = rearrange(qkv, "B L (K H D) -> K B L H D", K=3, H=self.heads_num) + # Apply QK-Norm if needed + q = self.self_attn_q_norm(q).to(v) + k = self.self_attn_k_norm(k).to(v) + + # Self-Attention + attn = attention(q, k, v, mode="torch", attn_mask=attn_mask) + + x = x + apply_gate(self.self_attn_proj(attn), gate_msa) + + if self.need_CA: + x = self.cross_attnblock(x, c, attn_mask, y) + + # FFN Layer + x = x + apply_gate(self.mlp(self.norm2(x)), gate_mlp) + + return x + + + + +class CrossAttnBlock(torch.nn.Module): + def __init__( + self, + hidden_size, + heads_num, + mlp_width_ratio: str = 4.0, + mlp_drop_rate: float = 0.0, + act_type: str = "silu", + qk_norm: bool = False, + qk_norm_type: str = "layer", + qkv_bias: bool = True, + dtype: Optional[torch.dtype] = None, + device: Optional[torch.device] = None, + ): + factory_kwargs = {"device": device, "dtype": dtype} + super().__init__() + self.heads_num = heads_num + head_dim = hidden_size // heads_num + + self.norm1 = nn.LayerNorm( + hidden_size, elementwise_affine=True, eps=1e-6, **factory_kwargs + ) + self.norm1_2 = nn.LayerNorm( + hidden_size, elementwise_affine=True, eps=1e-6, **factory_kwargs + ) + self.self_attn_q = nn.Linear( + hidden_size, hidden_size, bias=qkv_bias, **factory_kwargs + ) + self.self_attn_kv = nn.Linear( + hidden_size, hidden_size*2, bias=qkv_bias, **factory_kwargs + ) + qk_norm_layer = get_norm_layer(qk_norm_type) + self.self_attn_q_norm = ( + qk_norm_layer(head_dim, elementwise_affine=True, eps=1e-6, **factory_kwargs) + if qk_norm + else nn.Identity() + ) + self.self_attn_k_norm = ( + qk_norm_layer(head_dim, elementwise_affine=True, eps=1e-6, **factory_kwargs) + if qk_norm + else nn.Identity() + ) + self.self_attn_proj = nn.Linear( + hidden_size, hidden_size, bias=qkv_bias, **factory_kwargs + ) + + self.norm2 = nn.LayerNorm( + hidden_size, elementwise_affine=True, eps=1e-6, **factory_kwargs + ) + act_layer = get_activation_layer(act_type) + + self.adaLN_modulation = nn.Sequential( + act_layer(), + nn.Linear(hidden_size, 2 * hidden_size, bias=True, **factory_kwargs), + ) + # Zero-initialize the modulation + nn.init.zeros_(self.adaLN_modulation[1].weight) + nn.init.zeros_(self.adaLN_modulation[1].bias) + + def forward( + self, + x: torch.Tensor, + c: torch.Tensor, # timestep_aware_representations + context_aware_representations + attn_mask: torch.Tensor = None, + y: torch.Tensor=None, + + ): + gate_msa, gate_mlp = self.adaLN_modulation(c).chunk(2, dim=1) + + norm_x = self.norm1(x) + norm_y = self.norm1_2(y) + q = self.self_attn_q(norm_x) + q = rearrange(q, "B L (H D) -> B L H D", H=self.heads_num) + kv = self.self_attn_kv(norm_y) + k, v = rearrange(kv, "B L (K H D) -> K B L H D", K=2, H=self.heads_num) + # Apply QK-Norm if needed + q = self.self_attn_q_norm(q).to(v) + k = self.self_attn_k_norm(k).to(v) + + # Self-Attention + attn = attention(q, k, v, mode="torch", attn_mask=attn_mask) + + x = x + apply_gate(self.self_attn_proj(attn), gate_msa) + + return x + + + +class IndividualTokenRefiner(torch.nn.Module): + def __init__( + self, + hidden_size, + heads_num, + depth, + mlp_width_ratio: float = 4.0, + mlp_drop_rate: float = 0.0, + act_type: str = "silu", + qk_norm: bool = False, + qk_norm_type: str = "layer", + qkv_bias: bool = True, + need_CA:bool=False, + dtype: Optional[torch.dtype] = None, + device: Optional[torch.device] = None, + ): + + factory_kwargs = {"device": device, "dtype": dtype} + super().__init__() + self.need_CA = need_CA + self.blocks = nn.ModuleList( + [ + IndividualTokenRefinerBlock( + hidden_size=hidden_size, + heads_num=heads_num, + mlp_width_ratio=mlp_width_ratio, + mlp_drop_rate=mlp_drop_rate, + act_type=act_type, + qk_norm=qk_norm, + qk_norm_type=qk_norm_type, + qkv_bias=qkv_bias, + need_CA=self.need_CA, + **factory_kwargs, + ) + for _ in range(depth) + ] + ) + + + def forward( + self, + x: torch.Tensor, + c: torch.LongTensor, + mask: Optional[torch.Tensor] = None, + y:torch.Tensor=None, + ): + self_attn_mask = None + if mask is not None: + batch_size = mask.shape[0] + seq_len = mask.shape[1] + mask = mask.to(x.device) + # batch_size x 1 x seq_len x seq_len + self_attn_mask_1 = mask.view(batch_size, 1, 1, seq_len).repeat( + 1, 1, seq_len, 1 + ) + # batch_size x 1 x seq_len x seq_len + self_attn_mask_2 = self_attn_mask_1.transpose(2, 3) + # batch_size x 1 x seq_len x seq_len, 1 for broadcasting of heads_num + self_attn_mask = (self_attn_mask_1 & self_attn_mask_2).bool() + # avoids self-attention weight being NaN for padding tokens + self_attn_mask[:, :, :, 0] = True + + + for block in self.blocks: + x = block(x, c, self_attn_mask,y) + + return x + + +class SingleTokenRefiner(torch.nn.Module): + """ + A single token refiner block for llm text embedding refine. + """ + def __init__( + self, + in_channels, + hidden_size, + heads_num, + depth, + mlp_width_ratio: float = 4.0, + mlp_drop_rate: float = 0.0, + act_type: str = "silu", + qk_norm: bool = False, + qk_norm_type: str = "layer", + qkv_bias: bool = True, + need_CA:bool=False, + attn_mode: str = "torch", + dtype: Optional[torch.dtype] = None, + device: Optional[torch.device] = None, + ): + factory_kwargs = {"device": device, "dtype": dtype} + super().__init__() + self.attn_mode = attn_mode + self.need_CA = need_CA + assert self.attn_mode == "torch", "Only support 'torch' mode for token refiner." + + self.input_embedder = nn.Linear( + in_channels, hidden_size, bias=True, **factory_kwargs + ) + if self.need_CA: + self.input_embedder_CA = nn.Linear( + in_channels, hidden_size, bias=True, **factory_kwargs + ) + + act_layer = get_activation_layer(act_type) + # Build timestep embedding layer + self.t_embedder = TimestepEmbedder(hidden_size, act_layer, **factory_kwargs) + # Build context embedding layer + self.c_embedder = TextProjection( + in_channels, hidden_size, act_layer, **factory_kwargs + ) + + self.individual_token_refiner = IndividualTokenRefiner( + hidden_size=hidden_size, + heads_num=heads_num, + depth=depth, + mlp_width_ratio=mlp_width_ratio, + mlp_drop_rate=mlp_drop_rate, + act_type=act_type, + qk_norm=qk_norm, + qk_norm_type=qk_norm_type, + qkv_bias=qkv_bias, + need_CA=need_CA, + **factory_kwargs, + ) + + def forward( + self, + x: torch.Tensor, + t: torch.LongTensor, + mask: Optional[torch.LongTensor] = None, + y: torch.LongTensor=None, + ): + timestep_aware_representations = self.t_embedder(t) + + if mask is None: + context_aware_representations = x.mean(dim=1) + else: + mask_float = mask.unsqueeze(-1) # [b, s1, 1] + context_aware_representations = (x * mask_float).sum( + dim=1 + ) / mask_float.sum(dim=1) + context_aware_representations = self.c_embedder(context_aware_representations) + c = timestep_aware_representations + context_aware_representations + + x = self.input_embedder(x) + if self.need_CA: + y = self.input_embedder_CA(y) + x = self.individual_token_refiner(x, c, mask, y) + else: + x = self.individual_token_refiner(x, c, mask) + + return x + + + +class Qwen2Connector(torch.nn.Module): + def __init__( + self, + # biclip_dim=1024, + in_channels=3584, + hidden_size=4096, + heads_num=32, + depth=2, + need_CA=False, + device=None, + dtype=torch.bfloat16, + ): + super().__init__() + factory_kwargs = {"device": device, "dtype":dtype} + + self.S =SingleTokenRefiner(in_channels=in_channels,hidden_size=hidden_size,heads_num=heads_num,depth=depth,need_CA=need_CA,**factory_kwargs) + self.global_proj_out=nn.Linear(in_channels,768) + + self.scale_factor = nn.Parameter(torch.zeros(1)) + with torch.no_grad(): + self.scale_factor.data += -(1 - 0.09) + + def forward(self, x,t,mask): + mask_float = mask.unsqueeze(-1) # [b, s1, 1] + x_mean = (x * mask_float).sum( + dim=1 + ) / mask_float.sum(dim=1) * (1 + self.scale_factor.to(x.dtype)) + + global_out=self.global_proj_out(x_mean) + encoder_hidden_states = self.S(x,t,mask) + return encoder_hidden_states,global_out \ No newline at end of file diff --git a/modules/layers.py b/modules/layers.py new file mode 100644 index 0000000..41f47e3 --- /dev/null +++ b/modules/layers.py @@ -0,0 +1,639 @@ +# Modified from Flux +# +# Copyright 2024 Black Forest Labs + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +import math # noqa: I001 +from dataclasses import dataclass +from functools import partial + +import torch +import torch.nn.functional as F +from einops import rearrange +from liger_kernel.ops.rms_norm import LigerRMSNormFunction +from torch import Tensor, nn + + +try: + import flash_attn + from flash_attn.flash_attn_interface import ( + _flash_attn_forward, + flash_attn_varlen_func, + ) +except ImportError: + flash_attn = None + flash_attn_varlen_func = None + _flash_attn_forward = None + + +MEMORY_LAYOUT = { + "flash": ( + lambda x: x.view(x.shape[0] * x.shape[1], *x.shape[2:]), + lambda x: x, + ), + "torch": ( + lambda x: x.transpose(1, 2), + lambda x: x.transpose(1, 2), + ), + "vanilla": ( + lambda x: x.transpose(1, 2), + lambda x: x.transpose(1, 2), + ), +} + + +def attention( + q, + k, + v, + mode="flash", + drop_rate=0, + attn_mask=None, + causal=False, + cu_seqlens_q=None, + cu_seqlens_kv=None, + max_seqlen_q=None, + max_seqlen_kv=None, + batch_size=1, +): + """ + Perform QKV self attention. + + Args: + q (torch.Tensor): Query tensor with shape [b, s, a, d], where a is the number of heads. + k (torch.Tensor): Key tensor with shape [b, s1, a, d] + v (torch.Tensor): Value tensor with shape [b, s1, a, d] + mode (str): Attention mode. Choose from 'self_flash', 'cross_flash', 'torch', and 'vanilla'. + drop_rate (float): Dropout rate in attention map. (default: 0) + attn_mask (torch.Tensor): Attention mask with shape [b, s1] (cross_attn), or [b, a, s, s1] (torch or vanilla). + (default: None) + causal (bool): Whether to use causal attention. (default: False) + cu_seqlens_q (torch.Tensor): dtype torch.int32. The cumulative sequence lengths of the sequences in the batch, + used to index into q. + cu_seqlens_kv (torch.Tensor): dtype torch.int32. The cumulative sequence lengths of the sequences in the batch, + used to index into kv. + max_seqlen_q (int): The maximum sequence length in the batch of q. + max_seqlen_kv (int): The maximum sequence length in the batch of k and v. + + Returns: + torch.Tensor: Output tensor after self attention with shape [b, s, ad] + """ + pre_attn_layout, post_attn_layout = MEMORY_LAYOUT[mode] + q = pre_attn_layout(q) + k = pre_attn_layout(k) + v = pre_attn_layout(v) + + if mode == "torch": + if attn_mask is not None and attn_mask.dtype != torch.bool: + attn_mask = attn_mask.to(q.dtype) + x = F.scaled_dot_product_attention( + q, k, v, attn_mask=attn_mask, dropout_p=drop_rate, is_causal=causal + ) + elif mode == "flash": + assert flash_attn_varlen_func is not None + x: torch.Tensor = flash_attn_varlen_func( + q, + k, + v, + cu_seqlens_q, + cu_seqlens_kv, + max_seqlen_q, + max_seqlen_kv, + ) # type: ignore + # x with shape [(bxs), a, d] + x = x.view(batch_size, max_seqlen_q, x.shape[-2], x.shape[-1]) # type: ignore # reshape x to [b, s, a, d] + elif mode == "vanilla": + scale_factor = 1 / math.sqrt(q.size(-1)) + + b, a, s, _ = q.shape + s1 = k.size(2) + attn_bias = torch.zeros(b, a, s, s1, dtype=q.dtype, device=q.device) + if causal: + # Only applied to self attention + assert attn_mask is None, ( + "Causal mask and attn_mask cannot be used together" + ) + temp_mask = torch.ones(b, a, s, s, dtype=torch.bool, device=q.device).tril( + diagonal=0 + ) + attn_bias.masked_fill_(temp_mask.logical_not(), float("-inf")) + attn_bias.to(q.dtype) + + if attn_mask is not None: + if attn_mask.dtype == torch.bool: + attn_bias.masked_fill_(attn_mask.logical_not(), float("-inf")) + else: + attn_bias += attn_mask + + # TODO: Maybe force q and k to be float32 to avoid numerical overflow + attn = (q @ k.transpose(-2, -1)) * scale_factor + attn += attn_bias + attn = attn.softmax(dim=-1) + attn = torch.dropout(attn, p=drop_rate, train=True) + x = attn @ v + else: + raise NotImplementedError(f"Unsupported attention mode: {mode}") + + x = post_attn_layout(x) + b, s, a, d = x.shape + out = x.reshape(b, s, -1) + return out + + +def apply_gate(x, gate=None, tanh=False): + """AI is creating summary for apply_gate + + Args: + x (torch.Tensor): input tensor. + gate (torch.Tensor, optional): gate tensor. Defaults to None. + tanh (bool, optional): whether to use tanh function. Defaults to False. + + Returns: + torch.Tensor: the output tensor after apply gate. + """ + if gate is None: + return x + if tanh: + return x * gate.unsqueeze(1).tanh() + else: + return x * gate.unsqueeze(1) + + +class MLP(nn.Module): + """MLP as used in Vision Transformer, MLP-Mixer and related networks""" + + def __init__( + self, + in_channels, + hidden_channels=None, + out_features=None, + act_layer=nn.GELU, + norm_layer=None, + bias=True, + drop=0.0, + use_conv=False, + device=None, + dtype=None, + ): + super().__init__() + out_features = out_features or in_channels + hidden_channels = hidden_channels or in_channels + bias = (bias, bias) + drop_probs = (drop, drop) + linear_layer = partial(nn.Conv2d, kernel_size=1) if use_conv else nn.Linear + + self.fc1 = linear_layer( + in_channels, hidden_channels, bias=bias[0], device=device, dtype=dtype + ) + self.act = act_layer() + self.drop1 = nn.Dropout(drop_probs[0]) + self.norm = ( + norm_layer(hidden_channels, device=device, dtype=dtype) + if norm_layer is not None + else nn.Identity() + ) + self.fc2 = linear_layer( + hidden_channels, out_features, bias=bias[1], device=device, dtype=dtype + ) + self.drop2 = nn.Dropout(drop_probs[1]) + + def forward(self, x): + x = self.fc1(x) + x = self.act(x) + x = self.drop1(x) + x = self.norm(x) + x = self.fc2(x) + x = self.drop2(x) + return x + + +class TextProjection(nn.Module): + """ + Projects text embeddings. Also handles dropout for classifier-free guidance. + + Adapted from https://github.com/PixArt-alpha/PixArt-alpha/blob/master/diffusion/model/nets/PixArt_blocks.py + """ + + def __init__(self, in_channels, hidden_size, act_layer, dtype=None, device=None): + factory_kwargs = {"dtype": dtype, "device": device} + super().__init__() + self.linear_1 = nn.Linear( + in_features=in_channels, + out_features=hidden_size, + bias=True, + **factory_kwargs, + ) + self.act_1 = act_layer() + self.linear_2 = nn.Linear( + in_features=hidden_size, + out_features=hidden_size, + bias=True, + **factory_kwargs, + ) + + def forward(self, caption): + hidden_states = self.linear_1(caption) + hidden_states = self.act_1(hidden_states) + hidden_states = self.linear_2(hidden_states) + return hidden_states + + +class TimestepEmbedder(nn.Module): + """ + Embeds scalar timesteps into vector representations. + """ + + def __init__( + self, + hidden_size, + act_layer, + frequency_embedding_size=256, + max_period=10000, + out_size=None, + dtype=None, + device=None, + ): + factory_kwargs = {"dtype": dtype, "device": device} + super().__init__() + self.frequency_embedding_size = frequency_embedding_size + self.max_period = max_period + if out_size is None: + out_size = hidden_size + + self.mlp = nn.Sequential( + nn.Linear( + frequency_embedding_size, hidden_size, bias=True, **factory_kwargs + ), + act_layer(), + nn.Linear(hidden_size, out_size, bias=True, **factory_kwargs), + ) + nn.init.normal_(self.mlp[0].weight, std=0.02) # type: ignore + nn.init.normal_(self.mlp[2].weight, std=0.02) # type: ignore + + @staticmethod + def timestep_embedding(t, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + + Args: + t (torch.Tensor): a 1-D Tensor of N indices, one per batch element. These may be fractional. + dim (int): the dimension of the output. + max_period (int): controls the minimum frequency of the embeddings. + + Returns: + embedding (torch.Tensor): An (N, D) Tensor of positional embeddings. + + .. ref_link: https://github.com/openai/glide-text2im/blob/main/glide_text2im/nn.py + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) + * torch.arange(start=0, end=half, dtype=torch.float32) + / half + ).to(device=t.device) + args = t[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1 + ) + return embedding + + def forward(self, t): + t_freq = self.timestep_embedding( + t, self.frequency_embedding_size, self.max_period + ).type(self.mlp[0].weight.dtype) # type: ignore + t_emb = self.mlp(t_freq) + return t_emb + + +class EmbedND(nn.Module): + def __init__(self, dim: int, theta: int, axes_dim: list[int]): + super().__init__() + self.dim = dim + self.theta = theta + self.axes_dim = axes_dim + + def forward(self, ids: Tensor) -> Tensor: + n_axes = ids.shape[-1] + emb = torch.cat( + [rope(ids[..., i], self.axes_dim[i], self.theta) for i in range(n_axes)], + dim=-3, + ) + + return emb.unsqueeze(1) + + +class MLPEmbedder(nn.Module): + def __init__(self, in_dim: int, hidden_dim: int): + super().__init__() + self.in_layer = nn.Linear(in_dim, hidden_dim, bias=True) + self.silu = nn.SiLU() + self.out_layer = nn.Linear(hidden_dim, hidden_dim, bias=True) + + def forward(self, x: Tensor) -> Tensor: + return self.out_layer(self.silu(self.in_layer(x))) + + +def rope(pos, dim: int, theta: int): + assert dim % 2 == 0 + scale = torch.arange(0, dim, 2, dtype=torch.float64, device=pos.device) / dim + omega = 1.0 / (theta**scale) + out = torch.einsum("...n,d->...nd", pos, omega) + out = torch.stack( + [torch.cos(out), -torch.sin(out), torch.sin(out), torch.cos(out)], dim=-1 + ) + out = rearrange(out, "b n d (i j) -> b n d i j", i=2, j=2) + return out.float() + + +def attention_after_rope(q, k, v, pe): + q, k = apply_rope(q, k, pe) + + from .attention import attention + + x = attention(q, k, v, mode="flash") + return x + + +@torch.compile(mode="max-autotune-no-cudagraphs", dynamic=True) +def apply_rope(xq, xk, freqs_cis): + # 将 num_heads 和 seq_len 的维度交换回原函数的处理顺序 + xq = xq.transpose(1, 2) # [batch, num_heads, seq_len, head_dim] + xk = xk.transpose(1, 2) + + # 将 head_dim 拆分为复数部分(实部和虚部) + xq_ = xq.float().reshape(*xq.shape[:-1], -1, 1, 2) + xk_ = xk.float().reshape(*xk.shape[:-1], -1, 1, 2) + + # 应用旋转位置编码(复数乘法) + xq_out = freqs_cis[..., 0] * xq_[..., 0] + freqs_cis[..., 1] * xq_[..., 1] + xk_out = freqs_cis[..., 0] * xk_[..., 0] + freqs_cis[..., 1] * xk_[..., 1] + + # 恢复张量形状并转置回目标维度顺序 + xq_out = xq_out.reshape(*xq.shape).type_as(xq).transpose(1, 2) + xk_out = xk_out.reshape(*xk.shape).type_as(xk).transpose(1, 2) + + return xq_out, xk_out + + +@torch.compile(mode="max-autotune-no-cudagraphs", dynamic=True) +def scale_add_residual( + x: torch.Tensor, scale: torch.Tensor, residual: torch.Tensor +) -> torch.Tensor: + return x * scale + residual + + +@torch.compile(mode="max-autotune-no-cudagraphs", dynamic=True) +def layernorm_and_scale_shift( + x: torch.Tensor, scale: torch.Tensor, shift: torch.Tensor +) -> torch.Tensor: + return torch.nn.functional.layer_norm(x, (x.size(-1),)) * (scale + 1) + shift + + +class SelfAttention(nn.Module): + def __init__(self, dim: int, num_heads: int = 8, qkv_bias: bool = False): + super().__init__() + self.num_heads = num_heads + head_dim = dim // num_heads + + self.qkv = nn.Linear(dim, dim * 3, bias=qkv_bias) + self.norm = QKNorm(head_dim) + self.proj = nn.Linear(dim, dim) + + def forward(self, x: Tensor, pe: Tensor) -> Tensor: + qkv = self.qkv(x) + q, k, v = rearrange(qkv, "B L (K H D) -> K B L H D", K=3, H=self.num_heads) + q, k = self.norm(q, k, v) + x = attention_after_rope(q, k, v, pe=pe) + x = self.proj(x) + return x + + +@dataclass +class ModulationOut: + shift: Tensor + scale: Tensor + gate: Tensor + + +class RMSNorm(torch.nn.Module): + def __init__(self, dim: int): + super().__init__() + self.scale = nn.Parameter(torch.ones(dim)) + + @staticmethod + def rms_norm_fast(x, weight, eps): + return LigerRMSNormFunction.apply( + x, + weight, + eps, + 0.0, + "gemma", + True, + ) + + @staticmethod + def rms_norm(x, weight, eps): + x_dtype = x.dtype + x = x.float() + rrms = torch.rsqrt(torch.mean(x**2, dim=-1, keepdim=True) + eps) + return (x * rrms).to(dtype=x_dtype) * weight + + def forward(self, x: Tensor): + return self.rms_norm_fast(x, self.scale.to(x.dtype), 1e-6) + + +class QKNorm(torch.nn.Module): + def __init__(self, dim: int): + super().__init__() + self.query_norm = RMSNorm(dim) + self.key_norm = RMSNorm(dim) + + def forward(self, q: Tensor, k: Tensor, v: Tensor) -> tuple[Tensor, Tensor]: + q = self.query_norm(q) + k = self.key_norm(k) + return q.to(v), k.to(v) + + +class Modulation(nn.Module): + def __init__(self, dim: int, double: bool): + super().__init__() + self.is_double = double + self.multiplier = 6 if double else 3 + self.lin = nn.Linear(dim, self.multiplier * dim, bias=True) + + def forward(self, vec: Tensor) -> tuple[ModulationOut, ModulationOut | None]: + out = self.lin(nn.functional.silu(vec))[:, None, :].chunk( + self.multiplier, dim=-1 + ) + + return ( + ModulationOut(*out[:3]), + ModulationOut(*out[3:]) if self.is_double else None, + ) + + +class DoubleStreamBlock(nn.Module): + def __init__( + self, hidden_size: int, num_heads: int, mlp_ratio: float, qkv_bias: bool = False + ): + super().__init__() + + mlp_hidden_dim = int(hidden_size * mlp_ratio) + self.num_heads = num_heads + self.hidden_size = hidden_size + self.img_mod = Modulation(hidden_size, double=True) + self.img_norm1 = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) + self.img_attn = SelfAttention( + dim=hidden_size, num_heads=num_heads, qkv_bias=qkv_bias + ) + + self.img_norm2 = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) + self.img_mlp = nn.Sequential( + nn.Linear(hidden_size, mlp_hidden_dim, bias=True), + nn.GELU(approximate="tanh"), + nn.Linear(mlp_hidden_dim, hidden_size, bias=True), + ) + + self.txt_mod = Modulation(hidden_size, double=True) + self.txt_norm1 = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) + self.txt_attn = SelfAttention( + dim=hidden_size, num_heads=num_heads, qkv_bias=qkv_bias + ) + + self.txt_norm2 = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) + self.txt_mlp = nn.Sequential( + nn.Linear(hidden_size, mlp_hidden_dim, bias=True), + nn.GELU(approximate="tanh"), + nn.Linear(mlp_hidden_dim, hidden_size, bias=True), + ) + + def forward( + self, img: Tensor, txt: Tensor, vec: Tensor, pe: Tensor + ) -> tuple[Tensor, Tensor]: + img_mod1, img_mod2 = self.img_mod(vec) + txt_mod1, txt_mod2 = self.txt_mod(vec) + + # prepare image for attention + img_modulated = self.img_norm1(img) + img_modulated = (1 + img_mod1.scale) * img_modulated + img_mod1.shift + img_qkv = self.img_attn.qkv(img_modulated) + img_q, img_k, img_v = rearrange( + img_qkv, "B L (K H D) -> K B L H D", K=3, H=self.num_heads + ) + img_q, img_k = self.img_attn.norm(img_q, img_k, img_v) + + # prepare txt for attention + txt_modulated = self.txt_norm1(txt) + txt_modulated = (1 + txt_mod1.scale) * txt_modulated + txt_mod1.shift + txt_qkv = self.txt_attn.qkv(txt_modulated) + txt_q, txt_k, txt_v = rearrange( + txt_qkv, "B L (K H D) -> K B L H D", K=3, H=self.num_heads + ) + txt_q, txt_k = self.txt_attn.norm(txt_q, txt_k, txt_v) + + # run actual attention + q = torch.cat((txt_q, img_q), dim=1) + k = torch.cat((txt_k, img_k), dim=1) + v = torch.cat((txt_v, img_v), dim=1) + + attn = attention_after_rope(q, k, v, pe=pe) + txt_attn, img_attn = attn[:, : txt.shape[1]], attn[:, txt.shape[1] :] + + # calculate the img bloks + img = img + img_mod1.gate * self.img_attn.proj(img_attn) + img_mlp = self.img_mlp( + (1 + img_mod2.scale) * self.img_norm2(img) + img_mod2.shift + ) + img = scale_add_residual(img_mlp, img_mod2.gate, img) + + # calculate the txt bloks + txt = txt + txt_mod1.gate * self.txt_attn.proj(txt_attn) + txt_mlp = self.txt_mlp( + (1 + txt_mod2.scale) * self.txt_norm2(txt) + txt_mod2.shift + ) + txt = scale_add_residual(txt_mlp, txt_mod2.gate, txt) + return img, txt + + +class SingleStreamBlock(nn.Module): + """ + A DiT block with parallel linear layers as described in + https://arxiv.org/abs/2302.05442 and adapted modulation interface. + """ + + def __init__( + self, + hidden_size: int, + num_heads: int, + mlp_ratio: float = 4.0, + qk_scale: float | None = None, + ): + super().__init__() + self.hidden_dim = hidden_size + self.num_heads = num_heads + head_dim = hidden_size // num_heads + self.scale = qk_scale or head_dim**-0.5 + + self.mlp_hidden_dim = int(hidden_size * mlp_ratio) + # qkv and mlp_in + self.linear1 = nn.Linear(hidden_size, hidden_size * 3 + self.mlp_hidden_dim) + # proj and mlp_out + self.linear2 = nn.Linear(hidden_size + self.mlp_hidden_dim, hidden_size) + + self.norm = QKNorm(head_dim) + + self.hidden_size = hidden_size + self.pre_norm = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) + + self.mlp_act = nn.GELU(approximate="tanh") + self.modulation = Modulation(hidden_size, double=False) + + def forward(self, x: Tensor, vec: Tensor, pe: Tensor) -> Tensor: + mod, _ = self.modulation(vec) + x_mod = (1 + mod.scale) * self.pre_norm(x) + mod.shift + qkv, mlp = torch.split( + self.linear1(x_mod), [3 * self.hidden_size, self.mlp_hidden_dim], dim=-1 + ) + + q, k, v = rearrange(qkv, "B L (K H D) -> K B L H D", K=3, H=self.num_heads) + q, k = self.norm(q, k, v) + + # compute attention + attn = attention_after_rope(q, k, v, pe=pe) + # compute activation in mlp stream, cat again and run second linear layer + output = self.linear2(torch.cat((attn, self.mlp_act(mlp)), 2)) + return scale_add_residual(output, mod.gate, x) + + +class LastLayer(nn.Module): + def __init__(self, hidden_size: int, patch_size: int, out_channels: int): + super().__init__() + self.norm_final = nn.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6) + self.linear = nn.Linear( + hidden_size, patch_size * patch_size * out_channels, bias=True + ) + self.adaLN_modulation = nn.Sequential( + nn.SiLU(), nn.Linear(hidden_size, 2 * hidden_size, bias=True) + ) + + def forward(self, x: Tensor, vec: Tensor) -> Tensor: + shift, scale = self.adaLN_modulation(vec).chunk(2, dim=1) + x = (1 + scale[:, None, :]) * self.norm_final(x) + shift[:, None, :] + x = self.linear(x) + return x diff --git a/modules/model_edit.py b/modules/model_edit.py new file mode 100644 index 0000000..fdc6a1a --- /dev/null +++ b/modules/model_edit.py @@ -0,0 +1,143 @@ +import math +from dataclasses import dataclass + +import numpy as np +import torch +from torch import Tensor, nn + +from .connector_edit import Qwen2Connector +from .layers import DoubleStreamBlock, EmbedND, LastLayer, MLPEmbedder, SingleStreamBlock + + +@dataclass +class Step1XParams: + in_channels: int + out_channels: int + vec_in_dim: int + context_in_dim: int + hidden_size: int + mlp_ratio: float + num_heads: int + depth: int + depth_single_blocks: int + axes_dim: list[int] + theta: int + qkv_bias: bool + + +class Step1XEdit(nn.Module): + """ + Transformer model for flow matching on sequences. + """ + + def __init__(self, params: Step1XParams): + super().__init__() + + self.params = params + self.in_channels = params.in_channels + self.out_channels = params.out_channels + if params.hidden_size % params.num_heads != 0: + raise ValueError( + f"Hidden size {params.hidden_size} must be divisible by num_heads {params.num_heads}" + ) + pe_dim = params.hidden_size // params.num_heads + if sum(params.axes_dim) != pe_dim: + raise ValueError( + f"Got {params.axes_dim} but expected positional dim {pe_dim}" + ) + self.hidden_size = params.hidden_size + self.num_heads = params.num_heads + self.pe_embedder = EmbedND( + dim=pe_dim, theta=params.theta, axes_dim=params.axes_dim + ) + self.img_in = nn.Linear(self.in_channels, self.hidden_size, bias=True) + self.time_in = MLPEmbedder(in_dim=256, hidden_dim=self.hidden_size) + self.vector_in = MLPEmbedder(params.vec_in_dim, self.hidden_size) + self.txt_in = nn.Linear(params.context_in_dim, self.hidden_size) + + self.double_blocks = nn.ModuleList( + [ + DoubleStreamBlock( + self.hidden_size, + self.num_heads, + mlp_ratio=params.mlp_ratio, + qkv_bias=params.qkv_bias, + ) + for _ in range(params.depth) + ] + ) + + self.single_blocks = nn.ModuleList( + [ + SingleStreamBlock( + self.hidden_size, self.num_heads, mlp_ratio=params.mlp_ratio + ) + for _ in range(params.depth_single_blocks) + ] + ) + + self.final_layer = LastLayer(self.hidden_size, 1, self.out_channels) + + self.connector = Qwen2Connector() + + @staticmethod + def timestep_embedding( + t: Tensor, dim, max_period=10000, time_factor: float = 1000.0 + ): + """ + Create sinusoidal timestep embeddings. + :param t: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an (N, D) Tensor of positional embeddings. + """ + t = time_factor * t + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) + * torch.arange(start=0, end=half, dtype=torch.float32) + / half + ).to(t.device) + + args = t[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1 + ) + if torch.is_floating_point(t): + embedding = embedding.to(t) + return embedding + + def forward( + self, + img: Tensor, + img_ids: Tensor, + txt: Tensor, + txt_ids: Tensor, + timesteps: Tensor, + y: Tensor, + ) -> Tensor: + if img.ndim != 3 or txt.ndim != 3: + raise ValueError("Input img and txt tensors must have 3 dimensions.") + + img = self.img_in(img) + vec = self.time_in(self.timestep_embedding(timesteps, 256)) + + vec = vec + self.vector_in(y) + txt = self.txt_in(txt) + + ids = torch.cat((txt_ids, img_ids), dim=1) + pe = self.pe_embedder(ids) + + for block in self.double_blocks: + img, txt = block(img=img, txt=txt, vec=vec, pe=pe) + + img = torch.cat((txt, img), 1) + for block in self.single_blocks: + img = block(img, vec=vec, pe=pe) + img = img[:, txt.shape[1] :, ...] + + img = self.final_layer(img, vec) # (N, T, patch_size ** 2 * out_channels) + return img \ No newline at end of file diff --git a/nodes/__init__.py b/nodes/__init__.py new file mode 100644 index 0000000..3b5f5e7 --- /dev/null +++ b/nodes/__init__.py @@ -0,0 +1 @@ +# Step1X-Edit nodes package \ No newline at end of file diff --git a/nodes/step1x_edit_nodes.py b/nodes/step1x_edit_nodes.py new file mode 100644 index 0000000..f5ab9a7 --- /dev/null +++ b/nodes/step1x_edit_nodes.py @@ -0,0 +1,338 @@ +import os +import torch +import numpy as np +import itertools +import math +from einops import rearrange, repeat +from torchvision.transforms import functional as F + +from ..utils.model_loader import Step1XEditModelBundle +from ..utils.sampling import get_schedule +import folder_paths + + +class Step1XEditModelLoader: + """Node for loading the Step1X-Edit model.""" + + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "diffusion_model": (folder_paths.get_filename_list("diffusion_models"), {"default": "step1x-edit-i1258-FP8.safetensors"}), + "vae": (folder_paths.get_filename_list("vae"), {"default": "vae.safetensors"}), + "text_encoder": (os.listdir(folder_paths.get_folder_paths("text_encoders")[0]), {"default": "Qwen2.5-VL-7B-Instruct"}), + "dtype": (["bfloat16", "float16", "float32"], {"default": "bfloat16"}), + "quantized": ("BOOLEAN", {"default": True}), + "offload": ("BOOLEAN", {"default": False}) + } + } + + RETURN_TYPES = ("STEP1X_MODEL_BUNDLE",) + FUNCTION = "load_model" + CATEGORY = "Step1X-Edit" + + def load_model(self, diffusion_model, vae, text_encoder, dtype, quantized, offload): + """Load the Step1X-Edit model components.""" + dit_path = folder_paths.get_full_path("diffusion_models", diffusion_model) + ae_path = folder_paths.get_full_path("vae", vae) + qwen2vl_model_path = os.path.join(folder_paths.get_folder_paths("text_encoders")[0], text_encoder) + + # Convert dtype string to torch dtype + if dtype == "bfloat16": + torch_dtype = torch.bfloat16 + elif dtype == "float16": + torch_dtype = torch.float16 + else: + torch_dtype = torch.float32 + + # Determine device + device = "cuda" if torch.cuda.is_available() else "cpu" + + # Create model bundle + model_bundle = Step1XEditModelBundle(device=device, dtype=torch_dtype) + model_bundle.set_quantized(quantized) + model_bundle.set_offload(offload) + + # Load models + success = model_bundle.load_models( + dit_path=dit_path, + ae_path=ae_path, + qwen2vl_model_path=qwen2vl_model_path, + max_length=640 + ) + + if not success: + raise RuntimeError("Failed to load Step1X-Edit models. Please check paths and ensure all dependencies are installed.") + + return (model_bundle,) + + +class Step1XEditGenerateNode: + """Node for generating images using Step1X-Edit.""" + + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "model_bundle": ("STEP1X_MODEL_BUNDLE",), + "input_image": ("IMAGE",), + "prompt": ("STRING", {"multiline": True}), + "negative_prompt": ("STRING", {"multiline": True, "default": ""}), + "num_steps": ("INT", {"default": 28, "min": 1, "max": 100}), + "cfg_guidance": ("FLOAT", {"default": 6.0, "min": 0.0, "max": 20.0, "step": 0.1}), + "seed": ("INT", {"default": 42}), + "size_level": ("INT", {"default": 512, "min": 256, "max": 1024, "step": 64}) + } + } + + RETURN_TYPES = ("IMAGE",) + FUNCTION = "generate" + CATEGORY = "Step1X-Edit" + + def process_diff_norm(self, diff_norm, k): + pow_result = torch.pow(diff_norm, k) + result = torch.where( + diff_norm > 1.0, + pow_result, + torch.where(diff_norm < 1.0, torch.ones_like(diff_norm), diff_norm), + ) + return result + + def unpack(self, x, height, width): + return rearrange( + x, + "b (h w) (c ph pw) -> b c (h ph) (w pw)", + h=math.ceil(height / 16), + w=math.ceil(width / 16), + ph=2, + pw=2, + ) + + def prepare(self, prompt, img, ref_image, ref_image_raw, model_bundle, device): + bs, _, h, w = img.shape + bs, _, ref_h, ref_w = ref_image.shape + + assert h == ref_h and w == ref_w + + if bs == 1 and not isinstance(prompt, str): + bs = len(prompt) + elif bs >= 1 and isinstance(prompt, str): + prompt = [prompt] * bs + + img = rearrange(img, "b c (h ph) (w pw) -> b (h w) (c ph pw)", ph=2, pw=2) + ref_img = rearrange(ref_image, "b c (ref_h ph) (ref_w pw) -> b (ref_h ref_w) (c ph pw)", ph=2, pw=2) + if img.shape[0] == 1 and bs > 1: + img = repeat(img, "1 ... -> bs ...", bs=bs) + ref_img = repeat(ref_img, "1 ... -> bs ...", bs=bs) + + img_ids = torch.zeros(h // 2, w // 2, 3) + img_ids[..., 1] = img_ids[..., 1] + torch.arange(h // 2)[:, None] + img_ids[..., 2] = img_ids[..., 2] + torch.arange(w // 2)[None, :] + img_ids = repeat(img_ids, "h w c -> b (h w) c", b=bs) + + ref_img_ids = torch.zeros(ref_h // 2, ref_w // 2, 3) + ref_img_ids[..., 1] = ref_img_ids[..., 1] + torch.arange(ref_h // 2)[:, None] + ref_img_ids[..., 2] = ref_img_ids[..., 2] + torch.arange(ref_w // 2)[None, :] + ref_img_ids = repeat(ref_img_ids, "ref_h ref_w c -> b (ref_h ref_w) c", b=bs) + + if isinstance(prompt, str): + prompt = [prompt] + + llm_encoder = model_bundle.llm_encoder + if model_bundle.offload: + llm_encoder = llm_encoder.to(device) + txt, mask = llm_encoder(prompt, ref_image_raw) + if model_bundle.offload: + llm_encoder = llm_encoder.cpu() + self.cudagc() + + txt_ids = torch.zeros(bs, txt.shape[1], 3) + + img = torch.cat([img, ref_img.to(device=img.device, dtype=img.dtype)], dim=-2) + img_ids = torch.cat([img_ids, ref_img_ids], dim=-2) + + return { + "img": img, + "mask": mask, + "img_ids": img_ids.to(img.device), + "llm_embedding": txt.to(img.device), + "txt_ids": txt_ids.to(img.device), + } + + def cudagc(self): + torch.cuda.empty_cache() + torch.cuda.ipc_collect() + + def denoise(self, model_bundle, img, img_ids, llm_embedding, txt_ids, timesteps, cfg_guidance=4.5, mask=None, timesteps_truncate=1.0): + device = img.device + dit = model_bundle.dit + if model_bundle.offload: + dit = dit.to(device) + + for t_curr, t_prev in itertools.pairwise(timesteps): + if img.shape[0] == 1 and cfg_guidance != -1: + img = torch.cat([img, img], dim=0) + + t_vec = torch.full( + (img.shape[0],), t_curr, dtype=img.dtype, device=img.device + ) + txt, vec = dit.connector(llm_embedding, t_vec, mask) + + pred = dit( + img=img, + img_ids=img_ids, + txt=txt, + txt_ids=txt_ids, + y=vec, + timesteps=t_vec, + ) + + if cfg_guidance != -1: + cond, uncond = ( + pred[0 : pred.shape[0] // 2, :], + pred[pred.shape[0] // 2 :, :], + ) + if t_curr > timesteps_truncate: + diff = cond - uncond + diff_norm = torch.norm(diff, dim=(2), keepdim=True) + pred = uncond + cfg_guidance * ( + cond - uncond + ) / self.process_diff_norm(diff_norm, k=0.4) + else: + pred = uncond + cfg_guidance * (cond - uncond) + + tem_img = img[0 : img.shape[0] // 2, :] + (t_prev - t_curr) * pred + img_input_length = img.shape[1] // 2 + img = torch.cat( + [ + tem_img[:, :img_input_length], + img[ : img.shape[0] // 2, img_input_length:], + ], dim=1 + ) + + if model_bundle.offload: + dit = dit.cpu() + self.cudagc() + + return img[:, :img.shape[1] // 2] + + def input_process_image(self, img_tensor, size_level=512): + # Convert tensor to PIL for resizing + img = F.to_pil_image(img_tensor.squeeze(0)) + + # Calculate dimensions + w, h = img.size + r = w / h + + if w > h: + w_new = math.ceil(math.sqrt(size_level * size_level * r)) + h_new = math.ceil(w_new / r) + else: + h_new = math.ceil(math.sqrt(size_level * size_level / r)) + w_new = math.ceil(h_new * r) + + h_new = math.ceil(h_new) // 16 * 16 + w_new = math.ceil(w_new) // 16 * 16 + + img_resized = img.resize((w_new, h_new)) + return img_resized, img.size + + @torch.inference_mode() + def generate(self, model_bundle, input_image, prompt, negative_prompt, num_steps, cfg_guidance, seed, size_level): + # ComfyUI passes images in BHWC format [batch, height, width, channels] with values in range [0, 1] + # Convert to BCHW format for processing + device = "cuda" if torch.cuda.is_available() else "cpu" + + # Convert from ComfyUI format [B, H, W, C] to [B, C, H, W] + input_tensor = input_image.permute(0, 3, 1, 2) + + # Process the input image + batch_size = input_tensor.shape[0] + processed_images = [] + + for i in range(batch_size): + single_img = input_tensor[i:i+1] + + # Process image to get proper dimensions + ref_img_pil, original_size = self.input_process_image(single_img, size_level) + width, height = ref_img_pil.width, ref_img_pil.height + + # Convert PIL back to tensor in proper format + ref_img_tensor = F.to_tensor(ref_img_pil).unsqueeze(0).to(device) * 2 - 1 + + # Get autoencoder from model bundle + ae = model_bundle.ae + if model_bundle.offload: + ae = ae.to(device) + + # Encode the image + ref_images = ae.encode(ref_img_tensor) + + if model_bundle.offload: + ae = ae.cpu() + self.cudagc() + + # Setup seed + seed_value = int(seed) + if seed_value < 0: + seed_value = torch.Generator(device="cpu").seed() + + # Create latent noise + x = torch.randn( + 1, # num_samples + 16, + height // 8, + width // 8, + device=device, + dtype=torch.bfloat16 if model_bundle.dtype == torch.bfloat16 else torch.float32, + generator=torch.Generator(device=device).manual_seed(seed_value), + ) + + # Get timesteps + timesteps = get_schedule( + num_steps, x.shape[-1] * x.shape[-2] // 4, shift=True + ) + + # Cat for classifier-free guidance + x = torch.cat([x, x], dim=0) + ref_images = torch.cat([ref_images, ref_images], dim=0) + ref_img_tensor = torch.cat([ref_img_tensor, ref_img_tensor], dim=0) + + # Prepare inputs + inputs = self.prepare([prompt, negative_prompt], x, ref_image=ref_images, ref_image_raw=ref_img_tensor, model_bundle=model_bundle, device=device) + + # Denoise + with torch.autocast(device_type=device, dtype=torch.bfloat16): + x = self.denoise( + model_bundle=model_bundle, + **inputs, + cfg_guidance=cfg_guidance, + timesteps=timesteps, + timesteps_truncate=1.0, + ) + + # Unpack and decode + x = self.unpack(x.float(), height, width) + if model_bundle.offload: + ae = model_bundle.ae.to(device) + x = ae.decode(x) + if model_bundle.offload: + ae = ae.cpu() + self.cudagc() + + x = x.clamp(-1, 1) + x = x.mul(0.5).add(0.5) + + # Convert back to PIL for resizing to original dimensions + for img in x.float(): + pil_img = F.to_pil_image(img) + pil_img = pil_img.resize(original_size) + + # Convert back to tensor in ComfyUI format [H, W, C] + img_tensor = torch.tensor(np.array(pil_img)).float() / 255.0 + processed_images.append(img_tensor) + + # Stack all processed images + output_tensor = torch.stack(processed_images) + + return (output_tensor,) \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..544692e --- /dev/null +++ b/requirements.txt @@ -0,0 +1,7 @@ +torch>=2.3.1 +liger_kernel>=0.5.4 +einops>=0.8.1 +transformers>=4.49.0 +qwen_vl_utils>=0.0.10 +safetensors>=0.4.5 +pillow>=11.1.0 \ No newline at end of file diff --git a/utils/__init__.py b/utils/__init__.py new file mode 100644 index 0000000..12eba7c --- /dev/null +++ b/utils/__init__.py @@ -0,0 +1 @@ +# Step1X-Edit utilities package \ No newline at end of file diff --git a/utils/get_flash_attn.py b/utils/get_flash_attn.py new file mode 100644 index 0000000..5ad046f --- /dev/null +++ b/utils/get_flash_attn.py @@ -0,0 +1,59 @@ +import platform +import sys + +import torch + + +def get_cuda_version(): + if torch.cuda.is_available(): + cuda_version = torch.version.cuda + return f"cu{cuda_version.replace('.', '')[:2]}" # 例如:cu121 + return "cpu" + + +def get_torch_version(): + return f"torch{torch.__version__.split('+')[0]}"[:-2] # 例如:torch2.2 + + +def get_python_version(): + version = sys.version_info + return f"cp{version.major}{version.minor}" # 例如:cp310 + + +def get_abi_flag(): + return "abiTRUE" if torch._C._GLIBCXX_USE_CXX11_ABI else "abiFALSE" + + +def get_platform(): + system = platform.system().lower() + machine = platform.machine().lower() + if system == "linux" and machine == "x86_64": + return "linux_x86_64" + elif system == "windows" and machine == "amd64": + return "win_amd64" + elif system == "darwin" and machine == "x86_64": + return "macosx_x86_64" + else: + raise ValueError(f"Unsupported platform: {system}_{machine}") + + +def generate_flash_attn_filename(flash_attn_version="2.7.2.post1"): + cuda_version = get_cuda_version() + torch_version = get_torch_version() + python_version = get_python_version() + abi_flag = get_abi_flag() + platform_tag = get_platform() + + filename = ( + f"flash_attn-{flash_attn_version}+{cuda_version}{torch_version}cxx11{abi_flag}-" + f"{python_version}-{python_version}-{platform_tag}.whl" + ) + return filename + + +if __name__ == "__main__": + try: + filename = generate_flash_attn_filename() + print("Generated filename:", filename) + except Exception as e: + print("Error generating filename:", e) \ No newline at end of file diff --git a/utils/model_loader.py b/utils/model_loader.py new file mode 100644 index 0000000..dee7312 --- /dev/null +++ b/utils/model_loader.py @@ -0,0 +1,120 @@ +import torch +from .step1x_edit_utils import load_state_dict + + +# Try to import Step1X-Edit modules +try: + from ..modules.autoencoder import AutoEncoder + from ..modules.conditioner import Qwen25VL_7b_Embedder as Qwen2VLEmbedder + from ..modules.model_edit import Step1XParams, Step1XEdit + +except ImportError: + print("Warning: Could not import Step1X-Edit modules. Will attempt to load them dynamically.") + + # Define placeholders for the modules + AutoEncoder = None + Qwen2VLEmbedder = None + Step1XParams = None + Step1XEdit = None + + +class Step1XEditModelBundle: + """Bundle containing all components of the Step1X-Edit model.""" + + def __init__(self, ae=None, dit=None, llm_encoder=None, device="cuda", dtype=torch.bfloat16): + self.ae = ae + self.dit = dit + self.llm_encoder = llm_encoder + self.device = device + self.dtype = dtype + self.quantized = False + self.offload = False + + def load_models(self, dit_path, ae_path, qwen2vl_model_path, max_length=256): + print(f"Loading models from dit_path: {dit_path}, \n ae_path: {ae_path}, \n qwen2vl_model_path: {qwen2vl_model_path}") + """Load all model components.""" + if Step1XParams is None or AutoEncoder is None or Qwen2VLEmbedder is None: + print("Error: Step1X-Edit modules not found. Please make sure they are properly installed.") + return False + + # Initialize LLM encoder + self.llm_encoder = Qwen2VLEmbedder( + qwen2vl_model_path, + device=self.device, + max_length=max_length, + dtype=self.dtype, + ) + + # Initialize autoencoder + with torch.device("meta"): + self.ae = AutoEncoder( + resolution=256, + in_channels=3, + ch=128, + out_ch=3, + ch_mult=[1, 2, 4, 4], + num_res_blocks=2, + z_channels=16, + scale_factor=0.3611, + shift_factor=0.1159, + ) + + # Initialize DIT model + step1x_params = Step1XParams( + in_channels=64, + out_channels=64, + vec_in_dim=768, + context_in_dim=4096, + hidden_size=3072, + mlp_ratio=4.0, + num_heads=24, + depth=19, + depth_single_blocks=38, + axes_dim=[16, 56, 56], + theta=10_000, + qkv_bias=True, + ) + self.dit = Step1XEdit(step1x_params) + + # Load weights + self.ae = load_state_dict(self.ae, ae_path, 'cpu') + self.dit = load_state_dict(self.dit, dit_path, 'cpu') + + # Set model precision + self.ae = self.ae.to(dtype=torch.float32) + + if not self.quantized: + self.dit = self.dit.to(dtype=self.dtype) + + if not self.offload: + self.dit = self.dit.to(device=self.device) + self.ae = self.ae.to(device=self.device) + + return True + + def set_quantized(self, quantized): + """Set whether to use quantized weights.""" + self.quantized = quantized + + def set_offload(self, offload): + """Set whether to offload models to CPU.""" + self.offload = offload + + def to_device(self, device): + """Move models to specified device.""" + self.device = device + if not self.offload: + self.dit = self.dit.to(device=self.device) + self.ae = self.ae.to(device=self.device) + + def get_models(self): + """Return all model components.""" + return { + "ae": self.ae, + "dit": self.dit, + "llm_encoder": self.llm_encoder, + "device": self.device, + "dtype": self.dtype, + "quantized": self.quantized, + "offload": self.offload + } \ No newline at end of file diff --git a/utils/sampling.py b/utils/sampling.py new file mode 100644 index 0000000..16142b9 --- /dev/null +++ b/utils/sampling.py @@ -0,0 +1,47 @@ +import math +from collections.abc import Callable + +import torch +from torch import Tensor + + +def get_noise(num_samples: int, height: int, width: int, device: torch.device, dtype: torch.dtype, seed: int): + return torch.randn( + num_samples, + 16, + # allow for packing + 2 * math.ceil(height / 16), + 2 * math.ceil(width / 16), + device=device, + dtype=dtype, + generator=torch.Generator(device=device).manual_seed(seed), + ) + + +def time_shift(mu: float, sigma: float, t: Tensor): + return math.exp(mu) / (math.exp(mu) + (1 / t - 1) ** sigma) + + +def get_lin_function(x1: float = 256, y1: float = 0.5, x2: float = 4096, y2: float = 1.15) -> Callable[[float], float]: + m = (y2 - y1) / (x2 - x1) + b = y1 - m * x1 + return lambda x: m * x + b + + +def get_schedule( + num_steps: int, + image_seq_len: int, + base_shift: float = 0.5, + max_shift: float = 1.15, + shift: bool = True, +) -> list[float]: + # extra step for zero + timesteps = torch.linspace(1, 0, num_steps + 1) + + # shifting the schedule to favor high timesteps for higher signal images + if shift: + # estimate mu based on linear estimation between two points + mu = get_lin_function(y1=base_shift, y2=max_shift)(image_seq_len) + timesteps = time_shift(mu, 1.0, timesteps) + + return timesteps.tolist() diff --git a/utils/step1x_edit_utils.py b/utils/step1x_edit_utils.py new file mode 100644 index 0000000..8e876f3 --- /dev/null +++ b/utils/step1x_edit_utils.py @@ -0,0 +1,24 @@ +import os +import torch +from safetensors.torch import load_file + + +def load_state_dict(model, ckpt_path, device="cuda", strict=False, assign=True): + """Load state dict from checkpoint file.""" + if os.path.splitext(ckpt_path)[1] == ".safetensors": + state_dict = load_file(ckpt_path, device) + else: + state_dict = torch.load(ckpt_path, map_location="cpu") + + missing, unexpected = model.load_state_dict( + state_dict, strict=strict, assign=assign + ) + if len(missing) > 0 and len(unexpected) > 0: + print(f"Got {len(missing)} missing keys:\n\t" + "\n\t".join(missing)) + print("\n" + "-" * 79 + "\n") + print(f"Got {len(unexpected)} unexpected keys:\n\t" + "\n\t".join(unexpected)) + elif len(missing) > 0: + print(f"Got {len(missing)} missing keys:\n\t" + "\n\t".join(missing)) + elif len(unexpected) > 0: + print(f"Got {len(unexpected)} unexpected keys:\n\t" + "\n\t".join(unexpected)) + return model \ No newline at end of file