Skip to content

feat: Improve LoRA compatibility by adding unified format detection and diffusers-based normalization#14659

Merged
mickqian merged 6 commits intosgl-project:mainfrom
MikukuOvO:feature-lora-adapter
Dec 13, 2025
Merged

feat: Improve LoRA compatibility by adding unified format detection and diffusers-based normalization#14659
mickqian merged 6 commits intosgl-project:mainfrom
MikukuOvO:feature-lora-adapter

Conversation

@MikukuOvO
Copy link
Contributor

Motivation

This PR introduces a complete LoRA format adapter for multimodal generation in SGLang.
LoRA checkpoints across the community vary widely in structure (Kohya/A1111, XLabs FLUX, Wan2.1/Comfy, Qwen-Image, Z-Image, etc.). Without a unified adapter, these heterogeneous naming schemes make it difficult to robustly load LoRAs into SGLang’s diffusers-based pipelines.
This PR provides:

  • A unified detection mechanism for major LoRA ecosystems
  • A consistent normalization layer converting them into diffusers-compatible naming
  • An end-to-end regression test suite using real Hugging Face checkpoints
  • The goal is to improve reliability, extensibility, and clarity of LoRA loading behavior in SGLang.

Modifications

1. Added lora_format_adapter module

A new adapter module is implemented to provide a two-stage normalization pipeline for external LoRA checkpoints.

Stage 1 — Format Detection

The adapter inspects the raw LoRA state_dict and classifies it into one of several known ecosystems based on key patterns:

  • Standard diffusers-style
  • Classic non-diffusers SD (Kohya/A1111/sd-scripts)
  • XLabs FLUX
  • Kohya FLUX
  • Other variants supported by diffusers conversion utilities

This establishes a consistent and extensible abstraction for LoRA format recognition.

Stage 2 — Normalization via diffusers converters

Based on the detected format, the adapter sequentially tries the appropriate converter functions exposed in:

diffusers.loaders.lora_conversion_utils

The adapter:

  • Iterates over candidate converter names
  • Calls the first available working converter
  • Handles both dict and (dict, …) return types
  • Logs which converter was used
  • Falls back gracefully when no converter applies

This produces a uniform, diffusers-compatible LoRA state_dict that the SGLang pipeline can reliably consume.


2. Integrated the adapter into LoRA loading pipeline

After LoRA weights are loaded inside lora_pipeline, the new adapter is now invoked automatically.

All external LoRAs now go through a consistent:

detect → normalize

flow before being applied to the model.

This ensures broader compatibility with real-world LoRA checkpoints and reduces pipeline fragility.


3. Added unit tests for the adapter

A standalone regression test suite is added. It:

  • Downloads several real LoRA checkpoints from Hugging Face
  • Runs format detection
  • Runs normalization
  • Validates output structure
  • Ensures expected before/after classifications
  • Confirms key-count consistency and diffusers-style layout

This provides confidence that the adapter works across diverse LoRA ecosystems and helps catch regressions early.


Accuracy Tests

This PR does not modify model execution or kernels.
Only LoRA loading behavior changes, and tests verify consistent normalization with no accuracy impact.


Benchmarking and Profiling

This PR does not affect runtime inference performance.
Normalization occurs only once at LoRA load time and has negligible overhead.


Checklist

@github-actions github-actions bot added lora diffusion SGLang Diffusion labels Dec 8, 2025
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @MikukuOvO, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly enhances the SGLang multimodal generation pipeline's ability to handle a wide array of LoRA (Low-Rank Adaptation) checkpoint formats. By implementing a robust detection and normalization layer, it ensures that LoRAs from various sources, which often have inconsistent naming conventions, can be seamlessly integrated and utilized. This change aims to improve the overall reliability and extensibility of LoRA loading without affecting inference performance or accuracy.

Highlights

  • Unified LoRA Format Adapter: A new lora_format_adapter module has been introduced to provide a two-stage normalization pipeline for diverse external LoRA checkpoints. This module first detects the format (e.g., Standard, Non-Diffusers SD, XLabs FLUX, Kohya FLUX) and then normalizes it into a consistent, diffusers-compatible naming scheme using diffusers.loaders.lora_conversion_utils.
  • Integrated LoRA Loading Pipeline: The new format adapter is now automatically invoked within the lora_pipeline after LoRA weights are loaded. This ensures that all external LoRAs undergo a consistent detect-then-normalize flow, improving compatibility and reducing fragility when working with various community-contributed LoRA models.
  • Comprehensive Unit Tests: A standalone regression test suite (test_lora_format_adapter.py) has been added. This suite downloads several real LoRA checkpoints from Hugging Face, performs format detection and normalization, and validates the output structure, ensuring the adapter functions correctly across diverse LoRA ecosystems and helps prevent regressions.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a significant improvement to LoRA compatibility in SGLang by adding a unified format adapter. The new lora_format_adapter module intelligently detects and normalizes various LoRA checkpoint formats into a diffusers-compatible structure, which will greatly enhance robustness when loading LoRAs from different ecosystems. The implementation is well-designed, modular, and robustly handles dependencies and potential conversion failures. The integration into the LoRAPipeline is clean, and the addition of a comprehensive regression test suite with real-world checkpoints is a fantastic step to ensure correctness and prevent future regressions. Overall, this is an excellent contribution. I have one critical suggestion for the new test file to ensure its portability.

@MikukuOvO MikukuOvO force-pushed the feature-lora-adapter branch from e2a6ee5 to 84cb1fb Compare December 8, 2025 17:06
@mickqian
Copy link
Collaborator

mickqian commented Dec 8, 2025

/tag-and-rerun-ci

@github-actions github-actions bot added the run-ci label Dec 8, 2025
@MikukuOvO MikukuOvO force-pushed the feature-lora-adapter branch from 84cb1fb to 477006f Compare December 9, 2025 02:58
@MikukuOvO
Copy link
Contributor Author

Addressed all the comments. Thanks for the review!

@mickqian
Copy link
Collaborator

mickqian commented Dec 9, 2025

have you tested them locally?

@MikukuOvO
Copy link
Contributor Author

have you tested them locally?

I've test the test_lora_format_adapter.py after the code change with running run_suite.py locally, I think it makes sense.

@mickqian
Copy link
Collaborator

mickqian commented Dec 9, 2025

I mean the actual LoRAs with these formats

@MikukuOvO MikukuOvO force-pushed the feature-lora-adapter branch 3 times, most recently from 3ddf2f7 to 21ba69c Compare December 10, 2025 05:29
@MikukuOvO
Copy link
Contributor Author

I mean the actual LoRAs with these formats

Hi Mick,

I've added the test for xlabs-ai, wan, qwen, and z-image, results as follows:

black-forest-labs/FLUX.1-dev & XLabs-AI/flux-RealismLora

[12-10 04:58:02] Rank 0: LoRA adapter XLabs-AI/flux-RealismLora applied to 152 layers

without lora

image

with lora

image

Qwen/Qwen-Image & lymy-ai/qwen-image-realism-lora

[12-10 18:47:11] Rank 0: LoRA adapter flymy-ai/qwen-image-realism-lora applied to 240 layers

without lora

image

with lora

image

Wan-AI/Wan2.2-I2V-A14B-Diffusers & lightx2v/Wan2.2-Distill-Loras

[12-10 18:59:06] Rank 0: LoRA adapter lightx2v/Wan2.2-Distill-Loras applied to 400 layers

Choose flux generated image as input image, similar results

Tongyi-MAI/Z-Image-Turbo & wcde/Z-Image-Turbo-DeJPEG-Lora

[12-10 18:50:27] Rank 0: LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora applied to 240 layers

While Tongyi get error in the following generation, seems due to the unmatched reasons in the sglang/python/sglang/multimodal_gen/runtime/models/dits/zimage.py, should I make a root cause analysis or change another model from Tongyi?

  File "/workspace/sglang/python/sglang/multimodal_gen/runtime/models/dits/zimage.py", line 66, in forward
    self.mlp[0].weight.dtype
    ^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/dist-packages/torch/nn/modules/module.py", line 1964, in __getattr__
    raise AttributeError(
AttributeError: 'BaseLayerWithLoRA' object has no attribute 'weight'
[12-10 18:50:28] Failed to generate output for prompt 1: Error executing request mocked_fake_id_for_offline_generate: 'BaseLayerWithLoRA' object has no attribute 'weight'

@MikukuOvO
Copy link
Contributor Author

I mean the actual LoRAs with these formats

Hi Mick,

I've added the test for xlabs-ai, wan, qwen, and z-image, results as follows:

black-forest-labs/FLUX.1-dev & XLabs-AI/flux-RealismLora

[12-10 04:58:02] Rank 0: LoRA adapter XLabs-AI/flux-RealismLora applied to 152 layers

without lora

image ### with lora image # Qwen/Qwen-Image & lymy-ai/qwen-image-realism-lora ```shell [12-10 18:47:11] Rank 0: LoRA adapter flymy-ai/qwen-image-realism-lora applied to 240 layers ```

without lora

image ## with lora image ## Wan-AI/Wan2.2-I2V-A14B-Diffusers & lightx2v/Wan2.2-Distill-Loras ```shell [12-10 18:59:06] Rank 0: LoRA adapter lightx2v/Wan2.2-Distill-Loras applied to 400 layers ```

Choose flux generated image as input image, similar results

Tongyi-MAI/Z-Image-Turbo & wcde/Z-Image-Turbo-DeJPEG-Lora

[12-10 18:50:27] Rank 0: LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora applied to 240 layers

While Tongyi get error in the following generation, seems due to the unmatched reasons in the sglang/python/sglang/multimodal_gen/runtime/models/dits/zimage.py, should I make a root cause analysis or change another model from Tongyi?

  File "/workspace/sglang/python/sglang/multimodal_gen/runtime/models/dits/zimage.py", line 66, in forward
    self.mlp[0].weight.dtype
    ^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/dist-packages/torch/nn/modules/module.py", line 1964, in __getattr__
    raise AttributeError(
AttributeError: 'BaseLayerWithLoRA' object has no attribute 'weight'
[12-10 18:50:28] Failed to generate output for prompt 1: Error executing request mocked_fake_id_for_offline_generate: 'BaseLayerWithLoRA' object has no attribute 'weight'

Complete log

[12-10 18:50:09] server_args: {"model_path": "Tongyi-MAI/Z-Image-Turbo", "attention_backend": null, "mode": "inference", "workload_type": "t2v", "cache_strategy": "none", "distributed_executor_backend": "mp", "nccl_port": null, "trust_remote_code": false, "revision": null, "num_gpus": 1, "tp_size": 1, "sp_degree": 1, "ulysses_degree": 1, "ring_degree": 1, "dp_size": 1, "dp_degree": 1, "enable_cfg_parallel": false, "hsdp_replicate_dim": 1, "hsdp_shard_dim": 1, "dist_timeout": null, "lora_path": "wcde/Z-Image-Turbo-DeJPEG-Lora", "lora_nickname": "zimage_dejpeg", "vae_path": null, "lora_target_modules": null, "output_type": "pil", "dit_cpu_offload": true, "use_fsdp_inference": false, "text_encoder_cpu_offload": true, "image_encoder_cpu_offload": true, "vae_cpu_offload": true, "pin_cpu_memory": true, "mask_strategy_file_path": null, "STA_mode": "STA_inference", "skip_time_steps": 15, "enable_torch_compile": false, "disable_autocast": false, "VSA_sparsity": 0.0, "moba_config_path": null, "moba_config": {}, "master_port": 30069, "host": null, "port": null, "scheduler_port": 5572, "enable_stage_verification": true, "prompt_file_path": null, "model_paths": {}, "model_loaded": {"transformer": true, "vae": true}, "override_transformer_cls_name": null, "boundary_ratio": null, "log_level": "info"}
[12-10 18:50:09] Local mode: True
[12-10 18:50:09] Starting server...
[12-10 18:50:15] Scheduler bind at endpoint: tcp://localhost:5572
[12-10 18:50:15] Initializing distributed environment with world_size=1, device=cuda:0
[Gloo] Rank 0 is connected to 0 peer ranks. Expected number of connected peer ranks is : 0
[Gloo] Rank 0 is connected to 0 peer ranks. Expected number of connected peer ranks is : 0
[Gloo] Rank 0 is connected to 0 peer ranks. Expected number of connected peer ranks is : 0
[Gloo] Rank 0 is connected to 0 peer ranks. Expected number of connected peer ranks is : 0
[Gloo] Rank 0 is connected to 0 peer ranks. Expected number of connected peer ranks is : 0
[Gloo] Rank 0 is connected to 0 peer ranks. Expected number of connected peer ranks is : 0
[Gloo] Rank 0 is connected to 0 peer ranks. Expected number of connected peer ranks is : 0
[12-10 18:50:17] Downloaded model_index.json for Tongyi-MAI/Z-Image-Turbo, pipeline: ZImagePipeline
[12-10 18:50:17] Found model info: ModelInfo(pipeline_cls=<class 'sglang.multimodal_gen.runtime.pipelines.zimage_pipeline.ZImagePipeline'>, sampling_param_cls=<class 'sglang.multimodal_gen.configs.sample.zimage.ZImageSamplingParams'>, pipeline_config_cls=<class 'sglang.multimodal_gen.configs.pipeline_configs.zimage.ZImagePipelineConfig'>)
[12-10 18:50:17] Loading pipeline modules...
[12-10 18:50:17] Downloading model snapshot from HF Hub for Tongyi-MAI/Z-Image-Turbo...
[12-10 18:50:17] Downloaded model to /root/.cache/huggingface/hub/models--Tongyi-MAI--Z-Image-Turbo/snapshots/5f4b9cbb80cc95ba44fe6667dfd75710f7db2947
[12-10 18:50:17] Model path: /root/.cache/huggingface/hub/models--Tongyi-MAI--Z-Image-Turbo/snapshots/5f4b9cbb80cc95ba44fe6667dfd75710f7db2947
[12-10 18:50:17] Diffusers version: 0.36.0.dev0
[12-10 18:50:17] Loading pipeline modules from config: {'_class_name': 'ZImagePipeline', '_diffusers_version': '0.36.0.dev0', 'scheduler': ['diffusers', 'FlowMatchEulerDiscreteScheduler'], 'text_encoder': ['transformers', 'Qwen3Model'], 'tokenizer': ['transformers', 'Qwen2Tokenizer'], 'transformer': ['diffusers', 'ZImageTransformer2DModel'], 'vae': ['diffusers', 'AutoencoderKL']}
[12-10 18:50:17] Loading required components: ['text_encoder', 'tokenizer', 'vae', 'transformer', 'scheduler']
Set TORCH_CUDA_ARCH_LIST to 9.0

Loading required modules:   0%|          | 0/5 [00:00<?, ?it/s][12-10 18:50:17] Loading text_encoder using transformers from /root/.cache/huggingface/hub/models--Tongyi-MAI--Z-Image-Turbo/snapshots/5f4b9cbb80cc95ba44fe6667dfd75710f7db2947/text_encoder
[12-10 18:50:17] Loading text_encoder from /root/.cache/huggingface/hub/models--Tongyi-MAI--Z-Image-Turbo/snapshots/5f4b9cbb80cc95ba44fe6667dfd75710f7db2947/text_encoder
[12-10 18:50:17] HF model config: {'bos_token_id': 151643, 'do_sample': True, 'eos_token_id': 151645, 'pad_token_id': 151643, 'temperature': 0.6, 'top_k': 20, 'top_p': 0.95, 'architectures': ['Qwen3ForCausalLM'], 'attention_bias': False, 'attention_dropout': 0.0, 'head_dim': 128, 'hidden_act': 'silu', 'hidden_size': 2560, 'initializer_range': 0.02, 'intermediate_size': 9728, 'max_position_embeddings': 40960, 'max_window_layers': 36, 'num_attention_heads': 32, 'num_hidden_layers': 36, 'num_key_value_heads': 8, 'rms_norm_eps': 1e-06, 'rope_scaling': None, 'rope_theta': 1000000, 'sliding_window': None, 'tie_word_embeddings': True, 'use_cache': True, 'use_sliding_window': False, 'vocab_size': 151936}


Loading checkpoint shards:   0%|          | 0/3 [00:00<?, ?it/s]�[A

Loading checkpoint shards:  33%|███▎      | 1/3 [00:00<00:00,  3.15it/s]�[A

Loading checkpoint shards:  67%|██████▋   | 2/3 [00:00<00:00,  3.11it/s]�[A
Loading checkpoint shards: 100%|██████████| 3/3 [00:00<00:00,  4.62it/s]
[12-10 18:50:19] Native module text_encoder: Qwen3Model is loaded, performance may be sub-optimal
[12-10 18:50:19] Loaded text_encoder: Qwen3Model from: native
[12-10 18:50:19] Loaded module text_encoder from /root/.cache/huggingface/hub/models--Tongyi-MAI--Z-Image-Turbo/snapshots/5f4b9cbb80cc95ba44fe6667dfd75710f7db2947/text_encoder

Loading required modules:  20%|██        | 1/5 [00:02<00:10,  2.66s/it][12-10 18:50:19] Loading tokenizer using transformers from /root/.cache/huggingface/hub/models--Tongyi-MAI--Z-Image-Turbo/snapshots/5f4b9cbb80cc95ba44fe6667dfd75710f7db2947/tokenizer
[12-10 18:50:19] Loading tokenizer from /root/.cache/huggingface/hub/models--Tongyi-MAI--Z-Image-Turbo/snapshots/5f4b9cbb80cc95ba44fe6667dfd75710f7db2947/tokenizer
[12-10 18:50:20] Loaded tokenizer: Qwen2TokenizerFast from: customized
[12-10 18:50:20] Loaded module tokenizer from /root/.cache/huggingface/hub/models--Tongyi-MAI--Z-Image-Turbo/snapshots/5f4b9cbb80cc95ba44fe6667dfd75710f7db2947/tokenizer

Loading required modules:  40%|████      | 2/5 [00:02<00:03,  1.24s/it][12-10 18:50:20] Loading vae using diffusers from /root/.cache/huggingface/hub/models--Tongyi-MAI--Z-Image-Turbo/snapshots/5f4b9cbb80cc95ba44fe6667dfd75710f7db2947/vae
[12-10 18:50:20] Loading vae from /root/.cache/huggingface/hub/models--Tongyi-MAI--Z-Image-Turbo/snapshots/5f4b9cbb80cc95ba44fe6667dfd75710f7db2947/vae
[12-10 18:50:20] HF model config: {'_name_or_path': 'flux-dev', 'act_fn': 'silu', 'block_out_channels': [128, 256, 512, 512], 'down_block_types': ['DownEncoderBlock2D', 'DownEncoderBlock2D', 'DownEncoderBlock2D', 'DownEncoderBlock2D'], 'force_upcast': True, 'in_channels': 3, 'latent_channels': 16, 'latents_mean': None, 'latents_std': None, 'layers_per_block': 2, 'mid_block_add_attention': True, 'norm_num_groups': 32, 'out_channels': 3, 'sample_size': 1024, 'scaling_factor': 0.3611, 'shift_factor': 0.1159, 'up_block_types': ['UpDecoderBlock2D', 'UpDecoderBlock2D', 'UpDecoderBlock2D', 'UpDecoderBlock2D'], 'use_post_quant_conv': False, 'use_quant_conv': False}
[12-10 18:50:20] Loaded vae: AutoencoderKL from: customized
[12-10 18:50:20] Loaded module vae from /root/.cache/huggingface/hub/models--Tongyi-MAI--Z-Image-Turbo/snapshots/5f4b9cbb80cc95ba44fe6667dfd75710f7db2947/vae
[12-10 18:50:20] Loading transformer using diffusers from /root/.cache/huggingface/hub/models--Tongyi-MAI--Z-Image-Turbo/snapshots/5f4b9cbb80cc95ba44fe6667dfd75710f7db2947/transformer
[12-10 18:50:20] Loading transformer from /root/.cache/huggingface/hub/models--Tongyi-MAI--Z-Image-Turbo/snapshots/5f4b9cbb80cc95ba44fe6667dfd75710f7db2947/transformer
[12-10 18:50:20] transformer cls_name: ZImageTransformer2DModel
[12-10 18:50:20] Loading model from 3 safetensors files: ['/root/.cache/huggingface/hub/models--Tongyi-MAI--Z-Image-Turbo/snapshots/5f4b9cbb80cc95ba44fe6667dfd75710f7db2947/transformer/diffusion_pytorch_model-00001-of-00003.safetensors', '/root/.cache/huggingface/hub/models--Tongyi-MAI--Z-Image-Turbo/snapshots/5f4b9cbb80cc95ba44fe6667dfd75710f7db2947/transformer/diffusion_pytorch_model-00002-of-00003.safetensors', '/root/.cache/huggingface/hub/models--Tongyi-MAI--Z-Image-Turbo/snapshots/5f4b9cbb80cc95ba44fe6667dfd75710f7db2947/transformer/diffusion_pytorch_model-00003-of-00003.safetensors']
[12-10 18:50:20] Loading ZImageTransformer2DModel, default_dtype: torch.bfloat16
[12-10 18:50:20] Using FlashAttention (FA3 for hopper, FA4 for blackwell) backend
[12-10 18:50:21] [RunAI Streamer] Overall time to stream 22.9 GiB of all files to cpu: 1.53s, 15.0 GiB/s
[12-10 18:50:23] Loaded model with 6.15B parameters
[12-10 18:50:23] Loaded transformer: ZImageTransformer2DModel from: customized
[12-10 18:50:23] Loaded module transformer from /root/.cache/huggingface/hub/models--Tongyi-MAI--Z-Image-Turbo/snapshots/5f4b9cbb80cc95ba44fe6667dfd75710f7db2947/transformer

Loading required modules:  80%|████████  | 4/5 [00:06<00:01,  1.51s/it][12-10 18:50:23] Loading scheduler using diffusers from /root/.cache/huggingface/hub/models--Tongyi-MAI--Z-Image-Turbo/snapshots/5f4b9cbb80cc95ba44fe6667dfd75710f7db2947/scheduler
[12-10 18:50:23] Loading scheduler from /root/.cache/huggingface/hub/models--Tongyi-MAI--Z-Image-Turbo/snapshots/5f4b9cbb80cc95ba44fe6667dfd75710f7db2947/scheduler
[12-10 18:50:23] Loaded scheduler: FlowMatchEulerDiscreteScheduler from: customized
[12-10 18:50:23] Loaded module scheduler from /root/.cache/huggingface/hub/models--Tongyi-MAI--Z-Image-Turbo/snapshots/5f4b9cbb80cc95ba44fe6667dfd75710f7db2947/scheduler

Loading required modules: 100%|██████████| 5/5 [00:06<00:00,  1.25s/it]
[12-10 18:50:27] Converted 276 layers to LoRA layers
[12-10 18:50:27] Downloading model snapshot from HF Hub for wcde/Z-Image-Turbo-DeJPEG-Lora...
[12-10 18:50:27] Downloaded model to /root/.cache/huggingface/hub/models--wcde--Z-Image-Turbo-DeJPEG-Lora/snapshots/a963b554171a35895660af26fe9e931994fb9587
Provided path contains more than one weights file in the .safetensors format. `dejpeg_detailed.safetensors` is going to be loaded, for precise control, specify a `weight_name` in `load_lora_weights`.
[12-10 18:50:27] [LoRAFormatAdapter] normalize_lora_state_dict called, #keys=480
[12-10 18:50:27] [LoRAFormatAdapter] before convert, sample keys (<=20): diffusion_model.layers.0.adaLN_modulation.0.lora_A.weight, diffusion_model.layers.0.adaLN_modulation.0.lora_B.weight, diffusion_model.layers.0.attention.to_k.lora_A.weight, diffusion_model.layers.0.attention.to_k.lora_B.weight, diffusion_model.layers.0.attention.to_out.0.lora_A.weight, diffusion_model.layers.0.attention.to_out.0.lora_B.weight, diffusion_model.layers.0.attention.to_q.lora_A.weight, diffusion_model.layers.0.attention.to_q.lora_B.weight, diffusion_model.layers.0.attention.to_v.lora_A.weight, diffusion_model.layers.0.attention.to_v.lora_B.weight, diffusion_model.layers.0.feed_forward.w1.lora_A.weight, diffusion_model.layers.0.feed_forward.w1.lora_B.weight, diffusion_model.layers.0.feed_forward.w2.lora_A.weight, diffusion_model.layers.0.feed_forward.w2.lora_B.weight, diffusion_model.layers.0.feed_forward.w3.lora_A.weight, diffusion_model.layers.0.feed_forward.w3.lora_B.weight, diffusion_model.layers.1.adaLN_modulation.0.lora_A.weight, diffusion_model.layers.1.adaLN_modulation.0.lora_B.weight, diffusion_model.layers.1.attention.to_k.lora_A.weight, diffusion_model.layers.1.attention.to_k.lora_B.weight
[12-10 18:50:27] [LoRAFormatAdapter] detected format: LoRAFormat.STANDARD
[12-10 18:50:27] [LoRAFormatAdapter] diffusers.lora_conversion_utils converted keys, sample keys (<=20): diffusion_model.layers.0.adaLN_modulation.0.lora_A.weight, diffusion_model.layers.0.adaLN_modulation.0.lora_B.weight, diffusion_model.layers.0.attention.to_k.lora_A.weight, diffusion_model.layers.0.attention.to_k.lora_B.weight, diffusion_model.layers.0.attention.to_out.0.lora_A.weight, diffusion_model.layers.0.attention.to_out.0.lora_B.weight, diffusion_model.layers.0.attention.to_q.lora_A.weight, diffusion_model.layers.0.attention.to_q.lora_B.weight, diffusion_model.layers.0.attention.to_v.lora_A.weight, diffusion_model.layers.0.attention.to_v.lora_B.weight, diffusion_model.layers.0.feed_forward.w1.lora_A.weight, diffusion_model.layers.0.feed_forward.w1.lora_B.weight, diffusion_model.layers.0.feed_forward.w2.lora_A.weight, diffusion_model.layers.0.feed_forward.w2.lora_B.weight, diffusion_model.layers.0.feed_forward.w3.lora_A.weight, diffusion_model.layers.0.feed_forward.w3.lora_B.weight, diffusion_model.layers.1.adaLN_modulation.0.lora_A.weight, diffusion_model.layers.1.adaLN_modulation.0.lora_B.weight, diffusion_model.layers.1.attention.to_k.lora_A.weight, diffusion_model.layers.1.attention.to_k.lora_B.weight
[12-10 18:50:27] [LoRAFormatAdapter] after convert, sample keys (<=20): diffusion_model.layers.0.adaLN_modulation.0.lora_A.weight, diffusion_model.layers.0.adaLN_modulation.0.lora_B.weight, diffusion_model.layers.0.attention.to_k.lora_A.weight, diffusion_model.layers.0.attention.to_k.lora_B.weight, diffusion_model.layers.0.attention.to_out.0.lora_A.weight, diffusion_model.layers.0.attention.to_out.0.lora_B.weight, diffusion_model.layers.0.attention.to_q.lora_A.weight, diffusion_model.layers.0.attention.to_q.lora_B.weight, diffusion_model.layers.0.attention.to_v.lora_A.weight, diffusion_model.layers.0.attention.to_v.lora_B.weight, diffusion_model.layers.0.feed_forward.w1.lora_A.weight, diffusion_model.layers.0.feed_forward.w1.lora_B.weight, diffusion_model.layers.0.feed_forward.w2.lora_A.weight, diffusion_model.layers.0.feed_forward.w2.lora_B.weight, diffusion_model.layers.0.feed_forward.w3.lora_A.weight, diffusion_model.layers.0.feed_forward.w3.lora_B.weight, diffusion_model.layers.1.adaLN_modulation.0.lora_A.weight, diffusion_model.layers.1.adaLN_modulation.0.lora_B.weight, diffusion_model.layers.1.attention.to_k.lora_A.weight, diffusion_model.layers.1.attention.to_k.lora_B.weight
layers.0.adaLN_modulation.0.lora_A -> layers.0.adaLN_modulation.0.lora_A
layers.0.adaLN_modulation.0.lora_B -> layers.0.adaLN_modulation.0.lora_B
layers.0.attention.to_k.lora_A -> layers.0.attention.to_k.lora_A
layers.0.attention.to_k.lora_B -> layers.0.attention.to_k.lora_B
layers.0.attention.to_out.0.lora_A -> layers.0.attention.to_out.0.lora_A
layers.0.attention.to_out.0.lora_B -> layers.0.attention.to_out.0.lora_B
layers.0.attention.to_q.lora_A -> layers.0.attention.to_q.lora_A
layers.0.attention.to_q.lora_B -> layers.0.attention.to_q.lora_B
layers.0.attention.to_v.lora_A -> layers.0.attention.to_v.lora_A
layers.0.attention.to_v.lora_B -> layers.0.attention.to_v.lora_B
layers.0.feed_forward.w1.lora_A -> layers.0.feed_forward.w1.lora_A
layers.0.feed_forward.w1.lora_B -> layers.0.feed_forward.w1.lora_B
layers.0.feed_forward.w2.lora_A -> layers.0.feed_forward.w2.lora_A
layers.0.feed_forward.w2.lora_B -> layers.0.feed_forward.w2.lora_B
layers.0.feed_forward.w3.lora_A -> layers.0.feed_forward.w3.lora_A
layers.0.feed_forward.w3.lora_B -> layers.0.feed_forward.w3.lora_B
layers.1.adaLN_modulation.0.lora_A -> layers.1.adaLN_modulation.0.lora_A
layers.1.adaLN_modulation.0.lora_B -> layers.1.adaLN_modulation.0.lora_B
layers.1.attention.to_k.lora_A -> layers.1.attention.to_k.lora_A
layers.1.attention.to_k.lora_B -> layers.1.attention.to_k.lora_B
layers.1.attention.to_out.0.lora_A -> layers.1.attention.to_out.0.lora_A
layers.1.attention.to_out.0.lora_B -> layers.1.attention.to_out.0.lora_B
layers.1.attention.to_q.lora_A -> layers.1.attention.to_q.lora_A
layers.1.attention.to_q.lora_B -> layers.1.attention.to_q.lora_B
layers.1.attention.to_v.lora_A -> layers.1.attention.to_v.lora_A
layers.1.attention.to_v.lora_B -> layers.1.attention.to_v.lora_B
layers.1.feed_forward.w1.lora_A -> layers.1.feed_forward.w1.lora_A
layers.1.feed_forward.w1.lora_B -> layers.1.feed_forward.w1.lora_B
layers.1.feed_forward.w2.lora_A -> layers.1.feed_forward.w2.lora_A
layers.1.feed_forward.w2.lora_B -> layers.1.feed_forward.w2.lora_B
layers.1.feed_forward.w3.lora_A -> layers.1.feed_forward.w3.lora_A
layers.1.feed_forward.w3.lora_B -> layers.1.feed_forward.w3.lora_B
layers.10.adaLN_modulation.0.lora_A -> layers.10.adaLN_modulation.0.lora_A
layers.10.adaLN_modulation.0.lora_B -> layers.10.adaLN_modulation.0.lora_B
layers.10.attention.to_k.lora_A -> layers.10.attention.to_k.lora_A
layers.10.attention.to_k.lora_B -> layers.10.attention.to_k.lora_B
layers.10.attention.to_out.0.lora_A -> layers.10.attention.to_out.0.lora_A
layers.10.attention.to_out.0.lora_B -> layers.10.attention.to_out.0.lora_B
layers.10.attention.to_q.lora_A -> layers.10.attention.to_q.lora_A
layers.10.attention.to_q.lora_B -> layers.10.attention.to_q.lora_B
layers.10.attention.to_v.lora_A -> layers.10.attention.to_v.lora_A
layers.10.attention.to_v.lora_B -> layers.10.attention.to_v.lora_B
layers.10.feed_forward.w1.lora_A -> layers.10.feed_forward.w1.lora_A
layers.10.feed_forward.w1.lora_B -> layers.10.feed_forward.w1.lora_B
layers.10.feed_forward.w2.lora_A -> layers.10.feed_forward.w2.lora_A
layers.10.feed_forward.w2.lora_B -> layers.10.feed_forward.w2.lora_B
layers.10.feed_forward.w3.lora_A -> layers.10.feed_forward.w3.lora_A
layers.10.feed_forward.w3.lora_B -> layers.10.feed_forward.w3.lora_B
layers.11.adaLN_modulation.0.lora_A -> layers.11.adaLN_modulation.0.lora_A
layers.11.adaLN_modulation.0.lora_B -> layers.11.adaLN_modulation.0.lora_B
layers.11.attention.to_k.lora_A -> layers.11.attention.to_k.lora_A
layers.11.attention.to_k.lora_B -> layers.11.attention.to_k.lora_B
layers.11.attention.to_out.0.lora_A -> layers.11.attention.to_out.0.lora_A
layers.11.attention.to_out.0.lora_B -> layers.11.attention.to_out.0.lora_B
layers.11.attention.to_q.lora_A -> layers.11.attention.to_q.lora_A
layers.11.attention.to_q.lora_B -> layers.11.attention.to_q.lora_B
layers.11.attention.to_v.lora_A -> layers.11.attention.to_v.lora_A
layers.11.attention.to_v.lora_B -> layers.11.attention.to_v.lora_B
layers.11.feed_forward.w1.lora_A -> layers.11.feed_forward.w1.lora_A
layers.11.feed_forward.w1.lora_B -> layers.11.feed_forward.w1.lora_B
layers.11.feed_forward.w2.lora_A -> layers.11.feed_forward.w2.lora_A
layers.11.feed_forward.w2.lora_B -> layers.11.feed_forward.w2.lora_B
layers.11.feed_forward.w3.lora_A -> layers.11.feed_forward.w3.lora_A
layers.11.feed_forward.w3.lora_B -> layers.11.feed_forward.w3.lora_B
layers.12.adaLN_modulation.0.lora_A -> layers.12.adaLN_modulation.0.lora_A
layers.12.adaLN_modulation.0.lora_B -> layers.12.adaLN_modulation.0.lora_B
layers.12.attention.to_k.lora_A -> layers.12.attention.to_k.lora_A
layers.12.attention.to_k.lora_B -> layers.12.attention.to_k.lora_B
layers.12.attention.to_out.0.lora_A -> layers.12.attention.to_out.0.lora_A
layers.12.attention.to_out.0.lora_B -> layers.12.attention.to_out.0.lora_B
layers.12.attention.to_q.lora_A -> layers.12.attention.to_q.lora_A
layers.12.attention.to_q.lora_B -> layers.12.attention.to_q.lora_B
layers.12.attention.to_v.lora_A -> layers.12.attention.to_v.lora_A
layers.12.attention.to_v.lora_B -> layers.12.attention.to_v.lora_B
layers.12.feed_forward.w1.lora_A -> layers.12.feed_forward.w1.lora_A
layers.12.feed_forward.w1.lora_B -> layers.12.feed_forward.w1.lora_B
layers.12.feed_forward.w2.lora_A -> layers.12.feed_forward.w2.lora_A
layers.12.feed_forward.w2.lora_B -> layers.12.feed_forward.w2.lora_B
layers.12.feed_forward.w3.lora_A -> layers.12.feed_forward.w3.lora_A
layers.12.feed_forward.w3.lora_B -> layers.12.feed_forward.w3.lora_B
layers.13.adaLN_modulation.0.lora_A -> layers.13.adaLN_modulation.0.lora_A
layers.13.adaLN_modulation.0.lora_B -> layers.13.adaLN_modulation.0.lora_B
layers.13.attention.to_k.lora_A -> layers.13.attention.to_k.lora_A
layers.13.attention.to_k.lora_B -> layers.13.attention.to_k.lora_B
layers.13.attention.to_out.0.lora_A -> layers.13.attention.to_out.0.lora_A
layers.13.attention.to_out.0.lora_B -> layers.13.attention.to_out.0.lora_B
layers.13.attention.to_q.lora_A -> layers.13.attention.to_q.lora_A
layers.13.attention.to_q.lora_B -> layers.13.attention.to_q.lora_B
layers.13.attention.to_v.lora_A -> layers.13.attention.to_v.lora_A
layers.13.attention.to_v.lora_B -> layers.13.attention.to_v.lora_B
layers.13.feed_forward.w1.lora_A -> layers.13.feed_forward.w1.lora_A
layers.13.feed_forward.w1.lora_B -> layers.13.feed_forward.w1.lora_B
layers.13.feed_forward.w2.lora_A -> layers.13.feed_forward.w2.lora_A
layers.13.feed_forward.w2.lora_B -> layers.13.feed_forward.w2.lora_B
layers.13.feed_forward.w3.lora_A -> layers.13.feed_forward.w3.lora_A
layers.13.feed_forward.w3.lora_B -> layers.13.feed_forward.w3.lora_B
layers.14.adaLN_modulation.0.lora_A -> layers.14.adaLN_modulation.0.lora_A
layers.14.adaLN_modulation.0.lora_B -> layers.14.adaLN_modulation.0.lora_B
layers.14.attention.to_k.lora_A -> layers.14.attention.to_k.lora_A
layers.14.attention.to_k.lora_B -> layers.14.attention.to_k.lora_B
layers.14.attention.to_out.0.lora_A -> layers.14.attention.to_out.0.lora_A
layers.14.attention.to_out.0.lora_B -> layers.14.attention.to_out.0.lora_B
layers.14.attention.to_q.lora_A -> layers.14.attention.to_q.lora_A
layers.14.attention.to_q.lora_B -> layers.14.attention.to_q.lora_B
layers.14.attention.to_v.lora_A -> layers.14.attention.to_v.lora_A
layers.14.attention.to_v.lora_B -> layers.14.attention.to_v.lora_B
layers.14.feed_forward.w1.lora_A -> layers.14.feed_forward.w1.lora_A
layers.14.feed_forward.w1.lora_B -> layers.14.feed_forward.w1.lora_B
layers.14.feed_forward.w2.lora_A -> layers.14.feed_forward.w2.lora_A
layers.14.feed_forward.w2.lora_B -> layers.14.feed_forward.w2.lora_B
layers.14.feed_forward.w3.lora_A -> layers.14.feed_forward.w3.lora_A
layers.14.feed_forward.w3.lora_B -> layers.14.feed_forward.w3.lora_B
layers.15.adaLN_modulation.0.lora_A -> layers.15.adaLN_modulation.0.lora_A
layers.15.adaLN_modulation.0.lora_B -> layers.15.adaLN_modulation.0.lora_B
layers.15.attention.to_k.lora_A -> layers.15.attention.to_k.lora_A
layers.15.attention.to_k.lora_B -> layers.15.attention.to_k.lora_B
layers.15.attention.to_out.0.lora_A -> layers.15.attention.to_out.0.lora_A
layers.15.attention.to_out.0.lora_B -> layers.15.attention.to_out.0.lora_B
layers.15.attention.to_q.lora_A -> layers.15.attention.to_q.lora_A
layers.15.attention.to_q.lora_B -> layers.15.attention.to_q.lora_B
layers.15.attention.to_v.lora_A -> layers.15.attention.to_v.lora_A
layers.15.attention.to_v.lora_B -> layers.15.attention.to_v.lora_B
layers.15.feed_forward.w1.lora_A -> layers.15.feed_forward.w1.lora_A
layers.15.feed_forward.w1.lora_B -> layers.15.feed_forward.w1.lora_B
layers.15.feed_forward.w2.lora_A -> layers.15.feed_forward.w2.lora_A
layers.15.feed_forward.w2.lora_B -> layers.15.feed_forward.w2.lora_B
layers.15.feed_forward.w3.lora_A -> layers.15.feed_forward.w3.lora_A
layers.15.feed_forward.w3.lora_B -> layers.15.feed_forward.w3.lora_B
layers.16.adaLN_modulation.0.lora_A -> layers.16.adaLN_modulation.0.lora_A
layers.16.adaLN_modulation.0.lora_B -> layers.16.adaLN_modulation.0.lora_B
layers.16.attention.to_k.lora_A -> layers.16.attention.to_k.lora_A
layers.16.attention.to_k.lora_B -> layers.16.attention.to_k.lora_B
layers.16.attention.to_out.0.lora_A -> layers.16.attention.to_out.0.lora_A
layers.16.attention.to_out.0.lora_B -> layers.16.attention.to_out.0.lora_B
layers.16.attention.to_q.lora_A -> layers.16.attention.to_q.lora_A
layers.16.attention.to_q.lora_B -> layers.16.attention.to_q.lora_B
layers.16.attention.to_v.lora_A -> layers.16.attention.to_v.lora_A
layers.16.attention.to_v.lora_B -> layers.16.attention.to_v.lora_B
layers.16.feed_forward.w1.lora_A -> layers.16.feed_forward.w1.lora_A
layers.16.feed_forward.w1.lora_B -> layers.16.feed_forward.w1.lora_B
layers.16.feed_forward.w2.lora_A -> layers.16.feed_forward.w2.lora_A
layers.16.feed_forward.w2.lora_B -> layers.16.feed_forward.w2.lora_B
layers.16.feed_forward.w3.lora_A -> layers.16.feed_forward.w3.lora_A
layers.16.feed_forward.w3.lora_B -> layers.16.feed_forward.w3.lora_B
layers.17.adaLN_modulation.0.lora_A -> layers.17.adaLN_modulation.0.lora_A
layers.17.adaLN_modulation.0.lora_B -> layers.17.adaLN_modulation.0.lora_B
layers.17.attention.to_k.lora_A -> layers.17.attention.to_k.lora_A
layers.17.attention.to_k.lora_B -> layers.17.attention.to_k.lora_B
layers.17.attention.to_out.0.lora_A -> layers.17.attention.to_out.0.lora_A
layers.17.attention.to_out.0.lora_B -> layers.17.attention.to_out.0.lora_B
layers.17.attention.to_q.lora_A -> layers.17.attention.to_q.lora_A
layers.17.attention.to_q.lora_B -> layers.17.attention.to_q.lora_B
layers.17.attention.to_v.lora_A -> layers.17.attention.to_v.lora_A
layers.17.attention.to_v.lora_B -> layers.17.attention.to_v.lora_B
layers.17.feed_forward.w1.lora_A -> layers.17.feed_forward.w1.lora_A
layers.17.feed_forward.w1.lora_B -> layers.17.feed_forward.w1.lora_B
layers.17.feed_forward.w2.lora_A -> layers.17.feed_forward.w2.lora_A
layers.17.feed_forward.w2.lora_B -> layers.17.feed_forward.w2.lora_B
layers.17.feed_forward.w3.lora_A -> layers.17.feed_forward.w3.lora_A
layers.17.feed_forward.w3.lora_B -> layers.17.feed_forward.w3.lora_B
layers.18.adaLN_modulation.0.lora_A -> layers.18.adaLN_modulation.0.lora_A
layers.18.adaLN_modulation.0.lora_B -> layers.18.adaLN_modulation.0.lora_B
layers.18.attention.to_k.lora_A -> layers.18.attention.to_k.lora_A
layers.18.attention.to_k.lora_B -> layers.18.attention.to_k.lora_B
layers.18.attention.to_out.0.lora_A -> layers.18.attention.to_out.0.lora_A
layers.18.attention.to_out.0.lora_B -> layers.18.attention.to_out.0.lora_B
layers.18.attention.to_q.lora_A -> layers.18.attention.to_q.lora_A
layers.18.attention.to_q.lora_B -> layers.18.attention.to_q.lora_B
layers.18.attention.to_v.lora_A -> layers.18.attention.to_v.lora_A
layers.18.attention.to_v.lora_B -> layers.18.attention.to_v.lora_B
layers.18.feed_forward.w1.lora_A -> layers.18.feed_forward.w1.lora_A
layers.18.feed_forward.w1.lora_B -> layers.18.feed_forward.w1.lora_B
layers.18.feed_forward.w2.lora_A -> layers.18.feed_forward.w2.lora_A
layers.18.feed_forward.w2.lora_B -> layers.18.feed_forward.w2.lora_B
layers.18.feed_forward.w3.lora_A -> layers.18.feed_forward.w3.lora_A
layers.18.feed_forward.w3.lora_B -> layers.18.feed_forward.w3.lora_B
layers.19.adaLN_modulation.0.lora_A -> layers.19.adaLN_modulation.0.lora_A
layers.19.adaLN_modulation.0.lora_B -> layers.19.adaLN_modulation.0.lora_B
layers.19.attention.to_k.lora_A -> layers.19.attention.to_k.lora_A
layers.19.attention.to_k.lora_B -> layers.19.attention.to_k.lora_B
layers.19.attention.to_out.0.lora_A -> layers.19.attention.to_out.0.lora_A
layers.19.attention.to_out.0.lora_B -> layers.19.attention.to_out.0.lora_B
layers.19.attention.to_q.lora_A -> layers.19.attention.to_q.lora_A
layers.19.attention.to_q.lora_B -> layers.19.attention.to_q.lora_B
layers.19.attention.to_v.lora_A -> layers.19.attention.to_v.lora_A
layers.19.attention.to_v.lora_B -> layers.19.attention.to_v.lora_B
layers.19.feed_forward.w1.lora_A -> layers.19.feed_forward.w1.lora_A
layers.19.feed_forward.w1.lora_B -> layers.19.feed_forward.w1.lora_B
layers.19.feed_forward.w2.lora_A -> layers.19.feed_forward.w2.lora_A
layers.19.feed_forward.w2.lora_B -> layers.19.feed_forward.w2.lora_B
layers.19.feed_forward.w3.lora_A -> layers.19.feed_forward.w3.lora_A
layers.19.feed_forward.w3.lora_B -> layers.19.feed_forward.w3.lora_B
layers.2.adaLN_modulation.0.lora_A -> layers.2.adaLN_modulation.0.lora_A
layers.2.adaLN_modulation.0.lora_B -> layers.2.adaLN_modulation.0.lora_B
layers.2.attention.to_k.lora_A -> layers.2.attention.to_k.lora_A
layers.2.attention.to_k.lora_B -> layers.2.attention.to_k.lora_B
layers.2.attention.to_out.0.lora_A -> layers.2.attention.to_out.0.lora_A
layers.2.attention.to_out.0.lora_B -> layers.2.attention.to_out.0.lora_B
layers.2.attention.to_q.lora_A -> layers.2.attention.to_q.lora_A
layers.2.attention.to_q.lora_B -> layers.2.attention.to_q.lora_B
layers.2.attention.to_v.lora_A -> layers.2.attention.to_v.lora_A
layers.2.attention.to_v.lora_B -> layers.2.attention.to_v.lora_B
layers.2.feed_forward.w1.lora_A -> layers.2.feed_forward.w1.lora_A
layers.2.feed_forward.w1.lora_B -> layers.2.feed_forward.w1.lora_B
layers.2.feed_forward.w2.lora_A -> layers.2.feed_forward.w2.lora_A
layers.2.feed_forward.w2.lora_B -> layers.2.feed_forward.w2.lora_B
layers.2.feed_forward.w3.lora_A -> layers.2.feed_forward.w3.lora_A
layers.2.feed_forward.w3.lora_B -> layers.2.feed_forward.w3.lora_B
layers.20.adaLN_modulation.0.lora_A -> layers.20.adaLN_modulation.0.lora_A
layers.20.adaLN_modulation.0.lora_B -> layers.20.adaLN_modulation.0.lora_B
layers.20.attention.to_k.lora_A -> layers.20.attention.to_k.lora_A
layers.20.attention.to_k.lora_B -> layers.20.attention.to_k.lora_B
layers.20.attention.to_out.0.lora_A -> layers.20.attention.to_out.0.lora_A
layers.20.attention.to_out.0.lora_B -> layers.20.attention.to_out.0.lora_B
layers.20.attention.to_q.lora_A -> layers.20.attention.to_q.lora_A
layers.20.attention.to_q.lora_B -> layers.20.attention.to_q.lora_B
layers.20.attention.to_v.lora_A -> layers.20.attention.to_v.lora_A
layers.20.attention.to_v.lora_B -> layers.20.attention.to_v.lora_B
layers.20.feed_forward.w1.lora_A -> layers.20.feed_forward.w1.lora_A
layers.20.feed_forward.w1.lora_B -> layers.20.feed_forward.w1.lora_B
layers.20.feed_forward.w2.lora_A -> layers.20.feed_forward.w2.lora_A
layers.20.feed_forward.w2.lora_B -> layers.20.feed_forward.w2.lora_B
layers.20.feed_forward.w3.lora_A -> layers.20.feed_forward.w3.lora_A
layers.20.feed_forward.w3.lora_B -> layers.20.feed_forward.w3.lora_B
layers.21.adaLN_modulation.0.lora_A -> layers.21.adaLN_modulation.0.lora_A
layers.21.adaLN_modulation.0.lora_B -> layers.21.adaLN_modulation.0.lora_B
layers.21.attention.to_k.lora_A -> layers.21.attention.to_k.lora_A
layers.21.attention.to_k.lora_B -> layers.21.attention.to_k.lora_B
layers.21.attention.to_out.0.lora_A -> layers.21.attention.to_out.0.lora_A
layers.21.attention.to_out.0.lora_B -> layers.21.attention.to_out.0.lora_B
layers.21.attention.to_q.lora_A -> layers.21.attention.to_q.lora_A
layers.21.attention.to_q.lora_B -> layers.21.attention.to_q.lora_B
layers.21.attention.to_v.lora_A -> layers.21.attention.to_v.lora_A
layers.21.attention.to_v.lora_B -> layers.21.attention.to_v.lora_B
layers.21.feed_forward.w1.lora_A -> layers.21.feed_forward.w1.lora_A
layers.21.feed_forward.w1.lora_B -> layers.21.feed_forward.w1.lora_B
layers.21.feed_forward.w2.lora_A -> layers.21.feed_forward.w2.lora_A
layers.21.feed_forward.w2.lora_B -> layers.21.feed_forward.w2.lora_B
layers.21.feed_forward.w3.lora_A -> layers.21.feed_forward.w3.lora_A
layers.21.feed_forward.w3.lora_B -> layers.21.feed_forward.w3.lora_B
layers.22.adaLN_modulation.0.lora_A -> layers.22.adaLN_modulation.0.lora_A
layers.22.adaLN_modulation.0.lora_B -> layers.22.adaLN_modulation.0.lora_B
layers.22.attention.to_k.lora_A -> layers.22.attention.to_k.lora_A
layers.22.attention.to_k.lora_B -> layers.22.attention.to_k.lora_B
layers.22.attention.to_out.0.lora_A -> layers.22.attention.to_out.0.lora_A
layers.22.attention.to_out.0.lora_B -> layers.22.attention.to_out.0.lora_B
layers.22.attention.to_q.lora_A -> layers.22.attention.to_q.lora_A
layers.22.attention.to_q.lora_B -> layers.22.attention.to_q.lora_B
layers.22.attention.to_v.lora_A -> layers.22.attention.to_v.lora_A
layers.22.attention.to_v.lora_B -> layers.22.attention.to_v.lora_B
layers.22.feed_forward.w1.lora_A -> layers.22.feed_forward.w1.lora_A
layers.22.feed_forward.w1.lora_B -> layers.22.feed_forward.w1.lora_B
layers.22.feed_forward.w2.lora_A -> layers.22.feed_forward.w2.lora_A
layers.22.feed_forward.w2.lora_B -> layers.22.feed_forward.w2.lora_B
layers.22.feed_forward.w3.lora_A -> layers.22.feed_forward.w3.lora_A
layers.22.feed_forward.w3.lora_B -> layers.22.feed_forward.w3.lora_B
layers.23.adaLN_modulation.0.lora_A -> layers.23.adaLN_modulation.0.lora_A
layers.23.adaLN_modulation.0.lora_B -> layers.23.adaLN_modulation.0.lora_B
layers.23.attention.to_k.lora_A -> layers.23.attention.to_k.lora_A
layers.23.attention.to_k.lora_B -> layers.23.attention.to_k.lora_B
layers.23.attention.to_out.0.lora_A -> layers.23.attention.to_out.0.lora_A
layers.23.attention.to_out.0.lora_B -> layers.23.attention.to_out.0.lora_B
layers.23.attention.to_q.lora_A -> layers.23.attention.to_q.lora_A
layers.23.attention.to_q.lora_B -> layers.23.attention.to_q.lora_B
layers.23.attention.to_v.lora_A -> layers.23.attention.to_v.lora_A
layers.23.attention.to_v.lora_B -> layers.23.attention.to_v.lora_B
layers.23.feed_forward.w1.lora_A -> layers.23.feed_forward.w1.lora_A
layers.23.feed_forward.w1.lora_B -> layers.23.feed_forward.w1.lora_B
layers.23.feed_forward.w2.lora_A -> layers.23.feed_forward.w2.lora_A
layers.23.feed_forward.w2.lora_B -> layers.23.feed_forward.w2.lora_B
layers.23.feed_forward.w3.lora_A -> layers.23.feed_forward.w3.lora_A
layers.23.feed_forward.w3.lora_B -> layers.23.feed_forward.w3.lora_B
layers.24.adaLN_modulation.0.lora_A -> layers.24.adaLN_modulation.0.lora_A
layers.24.adaLN_modulation.0.lora_B -> layers.24.adaLN_modulation.0.lora_B
layers.24.attention.to_k.lora_A -> layers.24.attention.to_k.lora_A
layers.24.attention.to_k.lora_B -> layers.24.attention.to_k.lora_B
layers.24.attention.to_out.0.lora_A -> layers.24.attention.to_out.0.lora_A
layers.24.attention.to_out.0.lora_B -> layers.24.attention.to_out.0.lora_B
layers.24.attention.to_q.lora_A -> layers.24.attention.to_q.lora_A
layers.24.attention.to_q.lora_B -> layers.24.attention.to_q.lora_B
layers.24.attention.to_v.lora_A -> layers.24.attention.to_v.lora_A
layers.24.attention.to_v.lora_B -> layers.24.attention.to_v.lora_B
layers.24.feed_forward.w1.lora_A -> layers.24.feed_forward.w1.lora_A
layers.24.feed_forward.w1.lora_B -> layers.24.feed_forward.w1.lora_B
layers.24.feed_forward.w2.lora_A -> layers.24.feed_forward.w2.lora_A
layers.24.feed_forward.w2.lora_B -> layers.24.feed_forward.w2.lora_B
layers.24.feed_forward.w3.lora_A -> layers.24.feed_forward.w3.lora_A
layers.24.feed_forward.w3.lora_B -> layers.24.feed_forward.w3.lora_B
layers.25.adaLN_modulation.0.lora_A -> layers.25.adaLN_modulation.0.lora_A
layers.25.adaLN_modulation.0.lora_B -> layers.25.adaLN_modulation.0.lora_B
layers.25.attention.to_k.lora_A -> layers.25.attention.to_k.lora_A
layers.25.attention.to_k.lora_B -> layers.25.attention.to_k.lora_B
layers.25.attention.to_out.0.lora_A -> layers.25.attention.to_out.0.lora_A
layers.25.attention.to_out.0.lora_B -> layers.25.attention.to_out.0.lora_B
layers.25.attention.to_q.lora_A -> layers.25.attention.to_q.lora_A
layers.25.attention.to_q.lora_B -> layers.25.attention.to_q.lora_B
layers.25.attention.to_v.lora_A -> layers.25.attention.to_v.lora_A
layers.25.attention.to_v.lora_B -> layers.25.attention.to_v.lora_B
layers.25.feed_forward.w1.lora_A -> layers.25.feed_forward.w1.lora_A
layers.25.feed_forward.w1.lora_B -> layers.25.feed_forward.w1.lora_B
layers.25.feed_forward.w2.lora_A -> layers.25.feed_forward.w2.lora_A
layers.25.feed_forward.w2.lora_B -> layers.25.feed_forward.w2.lora_B
layers.25.feed_forward.w3.lora_A -> layers.25.feed_forward.w3.lora_A
layers.25.feed_forward.w3.lora_B -> layers.25.feed_forward.w3.lora_B
layers.26.adaLN_modulation.0.lora_A -> layers.26.adaLN_modulation.0.lora_A
layers.26.adaLN_modulation.0.lora_B -> layers.26.adaLN_modulation.0.lora_B
layers.26.attention.to_k.lora_A -> layers.26.attention.to_k.lora_A
layers.26.attention.to_k.lora_B -> layers.26.attention.to_k.lora_B
layers.26.attention.to_out.0.lora_A -> layers.26.attention.to_out.0.lora_A
layers.26.attention.to_out.0.lora_B -> layers.26.attention.to_out.0.lora_B
layers.26.attention.to_q.lora_A -> layers.26.attention.to_q.lora_A
layers.26.attention.to_q.lora_B -> layers.26.attention.to_q.lora_B
layers.26.attention.to_v.lora_A -> layers.26.attention.to_v.lora_A
layers.26.attention.to_v.lora_B -> layers.26.attention.to_v.lora_B
layers.26.feed_forward.w1.lora_A -> layers.26.feed_forward.w1.lora_A
layers.26.feed_forward.w1.lora_B -> layers.26.feed_forward.w1.lora_B
layers.26.feed_forward.w2.lora_A -> layers.26.feed_forward.w2.lora_A
layers.26.feed_forward.w2.lora_B -> layers.26.feed_forward.w2.lora_B
layers.26.feed_forward.w3.lora_A -> layers.26.feed_forward.w3.lora_A
layers.26.feed_forward.w3.lora_B -> layers.26.feed_forward.w3.lora_B
layers.27.adaLN_modulation.0.lora_A -> layers.27.adaLN_modulation.0.lora_A
layers.27.adaLN_modulation.0.lora_B -> layers.27.adaLN_modulation.0.lora_B
layers.27.attention.to_k.lora_A -> layers.27.attention.to_k.lora_A
layers.27.attention.to_k.lora_B -> layers.27.attention.to_k.lora_B
layers.27.attention.to_out.0.lora_A -> layers.27.attention.to_out.0.lora_A
layers.27.attention.to_out.0.lora_B -> layers.27.attention.to_out.0.lora_B
layers.27.attention.to_q.lora_A -> layers.27.attention.to_q.lora_A
layers.27.attention.to_q.lora_B -> layers.27.attention.to_q.lora_B
layers.27.attention.to_v.lora_A -> layers.27.attention.to_v.lora_A
layers.27.attention.to_v.lora_B -> layers.27.attention.to_v.lora_B
layers.27.feed_forward.w1.lora_A -> layers.27.feed_forward.w1.lora_A
layers.27.feed_forward.w1.lora_B -> layers.27.feed_forward.w1.lora_B
layers.27.feed_forward.w2.lora_A -> layers.27.feed_forward.w2.lora_A
layers.27.feed_forward.w2.lora_B -> layers.27.feed_forward.w2.lora_B
layers.27.feed_forward.w3.lora_A -> layers.27.feed_forward.w3.lora_A
layers.27.feed_forward.w3.lora_B -> layers.27.feed_forward.w3.lora_B
layers.28.adaLN_modulation.0.lora_A -> layers.28.adaLN_modulation.0.lora_A
layers.28.adaLN_modulation.0.lora_B -> layers.28.adaLN_modulation.0.lora_B
layers.28.attention.to_k.lora_A -> layers.28.attention.to_k.lora_A
layers.28.attention.to_k.lora_B -> layers.28.attention.to_k.lora_B
layers.28.attention.to_out.0.lora_A -> layers.28.attention.to_out.0.lora_A
layers.28.attention.to_out.0.lora_B -> layers.28.attention.to_out.0.lora_B
layers.28.attention.to_q.lora_A -> layers.28.attention.to_q.lora_A
layers.28.attention.to_q.lora_B -> layers.28.attention.to_q.lora_B
layers.28.attention.to_v.lora_A -> layers.28.attention.to_v.lora_A
layers.28.attention.to_v.lora_B -> layers.28.attention.to_v.lora_B
layers.28.feed_forward.w1.lora_A -> layers.28.feed_forward.w1.lora_A
layers.28.feed_forward.w1.lora_B -> layers.28.feed_forward.w1.lora_B
layers.28.feed_forward.w2.lora_A -> layers.28.feed_forward.w2.lora_A
layers.28.feed_forward.w2.lora_B -> layers.28.feed_forward.w2.lora_B
layers.28.feed_forward.w3.lora_A -> layers.28.feed_forward.w3.lora_A
layers.28.feed_forward.w3.lora_B -> layers.28.feed_forward.w3.lora_B
layers.29.adaLN_modulation.0.lora_A -> layers.29.adaLN_modulation.0.lora_A
layers.29.adaLN_modulation.0.lora_B -> layers.29.adaLN_modulation.0.lora_B
layers.29.attention.to_k.lora_A -> layers.29.attention.to_k.lora_A
layers.29.attention.to_k.lora_B -> layers.29.attention.to_k.lora_B
layers.29.attention.to_out.0.lora_A -> layers.29.attention.to_out.0.lora_A
layers.29.attention.to_out.0.lora_B -> layers.29.attention.to_out.0.lora_B
layers.29.attention.to_q.lora_A -> layers.29.attention.to_q.lora_A
layers.29.attention.to_q.lora_B -> layers.29.attention.to_q.lora_B
layers.29.attention.to_v.lora_A -> layers.29.attention.to_v.lora_A
layers.29.attention.to_v.lora_B -> layers.29.attention.to_v.lora_B
layers.29.feed_forward.w1.lora_A -> layers.29.feed_forward.w1.lora_A
layers.29.feed_forward.w1.lora_B -> layers.29.feed_forward.w1.lora_B
layers.29.feed_forward.w2.lora_A -> layers.29.feed_forward.w2.lora_A
layers.29.feed_forward.w2.lora_B -> layers.29.feed_forward.w2.lora_B
layers.29.feed_forward.w3.lora_A -> layers.29.feed_forward.w3.lora_A
layers.29.feed_forward.w3.lora_B -> layers.29.feed_forward.w3.lora_B
layers.3.adaLN_modulation.0.lora_A -> layers.3.adaLN_modulation.0.lora_A
layers.3.adaLN_modulation.0.lora_B -> layers.3.adaLN_modulation.0.lora_B
layers.3.attention.to_k.lora_A -> layers.3.attention.to_k.lora_A
layers.3.attention.to_k.lora_B -> layers.3.attention.to_k.lora_B
layers.3.attention.to_out.0.lora_A -> layers.3.attention.to_out.0.lora_A
layers.3.attention.to_out.0.lora_B -> layers.3.attention.to_out.0.lora_B
layers.3.attention.to_q.lora_A -> layers.3.attention.to_q.lora_A
layers.3.attention.to_q.lora_B -> layers.3.attention.to_q.lora_B
layers.3.attention.to_v.lora_A -> layers.3.attention.to_v.lora_A
layers.3.attention.to_v.lora_B -> layers.3.attention.to_v.lora_B
layers.3.feed_forward.w1.lora_A -> layers.3.feed_forward.w1.lora_A
layers.3.feed_forward.w1.lora_B -> layers.3.feed_forward.w1.lora_B
layers.3.feed_forward.w2.lora_A -> layers.3.feed_forward.w2.lora_A
layers.3.feed_forward.w2.lora_B -> layers.3.feed_forward.w2.lora_B
layers.3.feed_forward.w3.lora_A -> layers.3.feed_forward.w3.lora_A
layers.3.feed_forward.w3.lora_B -> layers.3.feed_forward.w3.lora_B
layers.4.adaLN_modulation.0.lora_A -> layers.4.adaLN_modulation.0.lora_A
layers.4.adaLN_modulation.0.lora_B -> layers.4.adaLN_modulation.0.lora_B
layers.4.attention.to_k.lora_A -> layers.4.attention.to_k.lora_A
layers.4.attention.to_k.lora_B -> layers.4.attention.to_k.lora_B
layers.4.attention.to_out.0.lora_A -> layers.4.attention.to_out.0.lora_A
layers.4.attention.to_out.0.lora_B -> layers.4.attention.to_out.0.lora_B
layers.4.attention.to_q.lora_A -> layers.4.attention.to_q.lora_A
layers.4.attention.to_q.lora_B -> layers.4.attention.to_q.lora_B
layers.4.attention.to_v.lora_A -> layers.4.attention.to_v.lora_A
layers.4.attention.to_v.lora_B -> layers.4.attention.to_v.lora_B
layers.4.feed_forward.w1.lora_A -> layers.4.feed_forward.w1.lora_A
layers.4.feed_forward.w1.lora_B -> layers.4.feed_forward.w1.lora_B
layers.4.feed_forward.w2.lora_A -> layers.4.feed_forward.w2.lora_A
layers.4.feed_forward.w2.lora_B -> layers.4.feed_forward.w2.lora_B
layers.4.feed_forward.w3.lora_A -> layers.4.feed_forward.w3.lora_A
layers.4.feed_forward.w3.lora_B -> layers.4.feed_forward.w3.lora_B
layers.5.adaLN_modulation.0.lora_A -> layers.5.adaLN_modulation.0.lora_A
layers.5.adaLN_modulation.0.lora_B -> layers.5.adaLN_modulation.0.lora_B
layers.5.attention.to_k.lora_A -> layers.5.attention.to_k.lora_A
layers.5.attention.to_k.lora_B -> layers.5.attention.to_k.lora_B
layers.5.attention.to_out.0.lora_A -> layers.5.attention.to_out.0.lora_A
layers.5.attention.to_out.0.lora_B -> layers.5.attention.to_out.0.lora_B
layers.5.attention.to_q.lora_A -> layers.5.attention.to_q.lora_A
layers.5.attention.to_q.lora_B -> layers.5.attention.to_q.lora_B
layers.5.attention.to_v.lora_A -> layers.5.attention.to_v.lora_A
layers.5.attention.to_v.lora_B -> layers.5.attention.to_v.lora_B
layers.5.feed_forward.w1.lora_A -> layers.5.feed_forward.w1.lora_A
layers.5.feed_forward.w1.lora_B -> layers.5.feed_forward.w1.lora_B
layers.5.feed_forward.w2.lora_A -> layers.5.feed_forward.w2.lora_A
layers.5.feed_forward.w2.lora_B -> layers.5.feed_forward.w2.lora_B
layers.5.feed_forward.w3.lora_A -> layers.5.feed_forward.w3.lora_A
layers.5.feed_forward.w3.lora_B -> layers.5.feed_forward.w3.lora_B
layers.6.adaLN_modulation.0.lora_A -> layers.6.adaLN_modulation.0.lora_A
layers.6.adaLN_modulation.0.lora_B -> layers.6.adaLN_modulation.0.lora_B
layers.6.attention.to_k.lora_A -> layers.6.attention.to_k.lora_A
layers.6.attention.to_k.lora_B -> layers.6.attention.to_k.lora_B
layers.6.attention.to_out.0.lora_A -> layers.6.attention.to_out.0.lora_A
layers.6.attention.to_out.0.lora_B -> layers.6.attention.to_out.0.lora_B
layers.6.attention.to_q.lora_A -> layers.6.attention.to_q.lora_A
layers.6.attention.to_q.lora_B -> layers.6.attention.to_q.lora_B
layers.6.attention.to_v.lora_A -> layers.6.attention.to_v.lora_A
layers.6.attention.to_v.lora_B -> layers.6.attention.to_v.lora_B
layers.6.feed_forward.w1.lora_A -> layers.6.feed_forward.w1.lora_A
layers.6.feed_forward.w1.lora_B -> layers.6.feed_forward.w1.lora_B
layers.6.feed_forward.w2.lora_A -> layers.6.feed_forward.w2.lora_A
layers.6.feed_forward.w2.lora_B -> layers.6.feed_forward.w2.lora_B
layers.6.feed_forward.w3.lora_A -> layers.6.feed_forward.w3.lora_A
layers.6.feed_forward.w3.lora_B -> layers.6.feed_forward.w3.lora_B
layers.7.adaLN_modulation.0.lora_A -> layers.7.adaLN_modulation.0.lora_A
layers.7.adaLN_modulation.0.lora_B -> layers.7.adaLN_modulation.0.lora_B
layers.7.attention.to_k.lora_A -> layers.7.attention.to_k.lora_A
layers.7.attention.to_k.lora_B -> layers.7.attention.to_k.lora_B
layers.7.attention.to_out.0.lora_A -> layers.7.attention.to_out.0.lora_A
layers.7.attention.to_out.0.lora_B -> layers.7.attention.to_out.0.lora_B
layers.7.attention.to_q.lora_A -> layers.7.attention.to_q.lora_A
layers.7.attention.to_q.lora_B -> layers.7.attention.to_q.lora_B
layers.7.attention.to_v.lora_A -> layers.7.attention.to_v.lora_A
layers.7.attention.to_v.lora_B -> layers.7.attention.to_v.lora_B
layers.7.feed_forward.w1.lora_A -> layers.7.feed_forward.w1.lora_A
layers.7.feed_forward.w1.lora_B -> layers.7.feed_forward.w1.lora_B
layers.7.feed_forward.w2.lora_A -> layers.7.feed_forward.w2.lora_A
layers.7.feed_forward.w2.lora_B -> layers.7.feed_forward.w2.lora_B
layers.7.feed_forward.w3.lora_A -> layers.7.feed_forward.w3.lora_A
layers.7.feed_forward.w3.lora_B -> layers.7.feed_forward.w3.lora_B
layers.8.adaLN_modulation.0.lora_A -> layers.8.adaLN_modulation.0.lora_A
layers.8.adaLN_modulation.0.lora_B -> layers.8.adaLN_modulation.0.lora_B
layers.8.attention.to_k.lora_A -> layers.8.attention.to_k.lora_A
layers.8.attention.to_k.lora_B -> layers.8.attention.to_k.lora_B
layers.8.attention.to_out.0.lora_A -> layers.8.attention.to_out.0.lora_A
layers.8.attention.to_out.0.lora_B -> layers.8.attention.to_out.0.lora_B
layers.8.attention.to_q.lora_A -> layers.8.attention.to_q.lora_A
layers.8.attention.to_q.lora_B -> layers.8.attention.to_q.lora_B
layers.8.attention.to_v.lora_A -> layers.8.attention.to_v.lora_A
layers.8.attention.to_v.lora_B -> layers.8.attention.to_v.lora_B
layers.8.feed_forward.w1.lora_A -> layers.8.feed_forward.w1.lora_A
layers.8.feed_forward.w1.lora_B -> layers.8.feed_forward.w1.lora_B
layers.8.feed_forward.w2.lora_A -> layers.8.feed_forward.w2.lora_A
layers.8.feed_forward.w2.lora_B -> layers.8.feed_forward.w2.lora_B
layers.8.feed_forward.w3.lora_A -> layers.8.feed_forward.w3.lora_A
layers.8.feed_forward.w3.lora_B -> layers.8.feed_forward.w3.lora_B
layers.9.adaLN_modulation.0.lora_A -> layers.9.adaLN_modulation.0.lora_A
layers.9.adaLN_modulation.0.lora_B -> layers.9.adaLN_modulation.0.lora_B
layers.9.attention.to_k.lora_A -> layers.9.attention.to_k.lora_A
layers.9.attention.to_k.lora_B -> layers.9.attention.to_k.lora_B
layers.9.attention.to_out.0.lora_A -> layers.9.attention.to_out.0.lora_A
layers.9.attention.to_out.0.lora_B -> layers.9.attention.to_out.0.lora_B
layers.9.attention.to_q.lora_A -> layers.9.attention.to_q.lora_A
layers.9.attention.to_q.lora_B -> layers.9.attention.to_q.lora_B
layers.9.attention.to_v.lora_A -> layers.9.attention.to_v.lora_A
layers.9.attention.to_v.lora_B -> layers.9.attention.to_v.lora_B
layers.9.feed_forward.w1.lora_A -> layers.9.feed_forward.w1.lora_A
layers.9.feed_forward.w1.lora_B -> layers.9.feed_forward.w1.lora_B
layers.9.feed_forward.w2.lora_A -> layers.9.feed_forward.w2.lora_A[12-10 18:50:27] Rank 0: loaded LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'all_x_embedder.2-1'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'all_final_layer.2-1.linear'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'all_final_layer.2-1.adaLN_modulation.1'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'noise_refiner.0.attention.to_q'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'noise_refiner.0.attention.to_k'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'noise_refiner.0.attention.to_v'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'noise_refiner.0.attention.to_out.0'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'noise_refiner.0.feed_forward.w1'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'noise_refiner.0.feed_forward.w2'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'noise_refiner.0.feed_forward.w3'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'noise_refiner.0.adaLN_modulation.0'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'noise_refiner.1.attention.to_q'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'noise_refiner.1.attention.to_k'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'noise_refiner.1.attention.to_v'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'noise_refiner.1.attention.to_out.0'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'noise_refiner.1.feed_forward.w1'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'noise_refiner.1.feed_forward.w2'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'noise_refiner.1.feed_forward.w3'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'noise_refiner.1.adaLN_modulation.0'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'context_refiner.0.attention.to_q'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'context_refiner.0.attention.to_k'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'context_refiner.0.attention.to_v'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'context_refiner.0.attention.to_out.0'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'context_refiner.0.feed_forward.w1'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'context_refiner.0.feed_forward.w2'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'context_refiner.0.feed_forward.w3'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'context_refiner.1.attention.to_q'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'context_refiner.1.attention.to_k'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'context_refiner.1.attention.to_v'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'context_refiner.1.attention.to_out.0'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'context_refiner.1.feed_forward.w1'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'context_refiner.1.feed_forward.w2'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'context_refiner.1.feed_forward.w3'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 't_embedder.mlp.0'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 't_embedder.mlp.2'. LoRA will not be applied to it.
[12-10 18:50:27] LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora does not contain the weights for layer 'cap_embedder.1'. LoRA will not be applied to it.
[12-10 18:50:27] Rank 0: LoRA adapter wcde/Z-Image-Turbo-DeJPEG-Lora applied to 240 layers
[12-10 18:50:27] Pipelines instantiated
[12-10 18:50:27] Worker 0: Initialized device, model, and distributed environment.
[12-10 18:50:27] Worker 0: Scheduler loop started.
[12-10 18:50:27] Rank 0 scheduler listening on tcp://*:5572
[12-10 18:50:27] Sampling params:
                       width: 1024
                      height: 1024
                  num_frames: 1
                      prompt: A hyper detailed photo of a girl reading a book beside a window, soft lighting, cinematic atmosphere
                  neg_prompt: None
                        seed: 2025
                 infer_steps: 9
      num_outputs_per_prompt: 1
              guidance_scale: 0.0
     embedded_guidance_scale: 6.0
                    n_tokens: 16384
                  flow_shift: None
                  image_path: None
                 save_output: True
            output_file_path: outputs/zimage_dejpeg_lora.jpg
        
[12-10 18:50:27] Processing prompt 1/1: A hyper detailed photo of a girl reading a book beside a window, soft lighting, cinematic atmosphere
[12-10 18:50:27] Creating pipeline stages...
[12-10 18:50:27] Using FlashAttention (FA3 for hopper, FA4 for blackwell) backend
[12-10 18:50:27] Running pipeline stages: ['input_validation_stage', 'prompt_encoding_stage_primary', 'conditioning_stage', 'timestep_preparation_stage', 'latent_preparation_stage', 'denoising_stage', 'decoding_stage']
[12-10 18:50:27] [InputValidationStage] started...
[12-10 18:50:27] [InputValidationStage] finished in 0.0001 seconds
[12-10 18:50:27] [TextEncodingStage] started...
[12-10 18:50:28] [TextEncodingStage] finished in 0.2339 seconds
[12-10 18:50:28] [ConditioningStage] started...
[12-10 18:50:28] [ConditioningStage] finished in 0.0001 seconds
[12-10 18:50:28] [TimestepPreparationStage] started...
[12-10 18:50:28] [TimestepPreparationStage] finished in 0.0185 seconds
[12-10 18:50:28] [LatentPreparationStage] started...
[12-10 18:50:28] [LatentPreparationStage] finished in 0.0012 seconds
[12-10 18:50:28] [DenoisingStage] started...

layers.9.feed_forward.w2.lora_B -> layers.9.feed_forward.w2.lora_B
layers.9.feed_forward.w3.lora_A -> layers.9.feed_forward.w3.lora_A
layers.9.feed_forward.w3.lora_B -> layers.9.feed_forward.w3.lora_B

  0%|          | 0/9 [00:00<?, ?it/s]
  0%|          | 0/9 [00:00<?, ?it/s]
[12-10 18:50:28] [DenoisingStage] Error during execution after 6.0432 ms: 'BaseLayerWithLoRA' object has no attribute 'weight'
Traceback (most recent call last):
  File "/workspace/sglang/python/sglang/multimodal_gen/runtime/pipelines_core/executors/parallel_executor.py", line 90, in execute
    batch = stage(batch, server_args)
            ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/workspace/sglang/python/sglang/multimodal_gen/runtime/pipelines_core/stages/base.py", line 192, in __call__
    result = self.forward(batch, server_args)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/dist-packages/torch/utils/_contextlib.py", line 120, in decorate_context
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/workspace/sglang/python/sglang/multimodal_gen/runtime/pipelines_core/stages/denoising.py", line 1027, in forward
    noise_pred = self._predict_noise_with_cfg(
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/workspace/sglang/python/sglang/multimodal_gen/runtime/pipelines_core/stages/denoising.py", line 1279, in _predict_noise_with_cfg
    noise_pred_cond = self._predict_noise(
                      ^^^^^^^^^^^^^^^^^^^^
  File "/workspace/sglang/python/sglang/multimodal_gen/runtime/pipelines_core/stages/denoising.py", line 1224, in _predict_noise
    return current_model(
           ^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/dist-packages/torch/nn/modules/module.py", line 1775, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/dist-packages/torch/nn/modules/module.py", line 1786, in _call_impl
    return forward_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/workspace/sglang/python/sglang/multimodal_gen/runtime/models/dits/zimage.py", line 560, in forward
    t = self.t_embedder(t)
        ^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/dist-packages/torch/nn/modules/module.py", line 1775, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/dist-packages/torch/nn/modules/module.py", line 1786, in _call_impl
    return forward_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/workspace/sglang/python/sglang/multimodal_gen/runtime/models/dits/zimage.py", line 66, in forward
    self.mlp[0].weight.dtype
    ^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/dist-packages/torch/nn/modules/module.py", line 1964, in __getattr__
    raise AttributeError(
AttributeError: 'BaseLayerWithLoRA' object has no attribute 'weight'
[12-10 18:50:28] Failed to generate output for prompt 1: Error executing request mocked_fake_id_for_offline_generate: 'BaseLayerWithLoRA' object has no attribute 'weight'
Traceback (most recent call last):
  File "/workspace/sglang/python/sglang/multimodal_gen/runtime/utils/logging_utils.py", line 455, in log_generation_timer
    yield timer
  File "/workspace/sglang/python/sglang/multimodal_gen/runtime/entrypoints/diffusion_generator.py", line 276, in generate
    raise Exception(f"{output_batch.error}")
Exception: Error executing request mocked_fake_id_for_offline_generate: 'BaseLayerWithLoRA' object has no attribute 'weight'
[12-10 18:50:28] Completed batch processing. Generated 0 outputs in 0.26 seconds.
[12-10 18:50:28] Generator was garbage collected without being shut down. Attempting to shut down the local server and client.
/usr/lib/python3.12/multiprocessing/resource_tracker.py:279: UserWarning: resource_tracker: There appear to be 1 leaked semaphore objects to clean up at shutdown
  warnings.warn('resource_tracker: There appear to be %d '

@MikukuOvO MikukuOvO force-pushed the feature-lora-adapter branch 2 times, most recently from ef4c92b to 65145fa Compare December 12, 2025 16:30
…abs-FLUX, Kohya-FLUX, non-diffusers SD, and more
@MikukuOvO MikukuOvO force-pushed the feature-lora-adapter branch from 65145fa to 009cbde Compare December 12, 2025 16:31
@MikukuOvO
Copy link
Contributor Author

I’ve verified that this issue is already fixed after rebasing onto the latest main (from #14543).
I can confirm it works correctly on my side now. Much appreciated!

@mickqian
Copy link
Collaborator

/rerun-failed-ci

1 similar comment
@mickqian
Copy link
Collaborator

/rerun-failed-ci

@mickqian mickqian merged commit dcc5f5c into sgl-project:main Dec 13, 2025
155 of 163 checks passed
Liwansi added a commit to iforgetmyname/sglang that referenced this pull request Dec 13, 2025
…n_eagle3_npu

* 'main' of https://github.com/sgl-project/sglang: (25 commits)
  [NPU] perf update with kvcache nz & w4a8 quant (sgl-project#14423)
  [PP Prefill][NIXL] Fix PP mode transfer completion tracking to wait for all ranks (sgl-project#15027)
  Fix GLM-4.6 tool calls don't support streaming output for arguments i… (sgl-project#13989)
  feature: adding nightly wheel workflow and indexer (sgl-project#14924)
  [diffusion] feat: Improve LoRA compatibility by adding unified format detection and diffusers-based normalization (sgl-project#14659)
  [Fix] Disable trtllm moe backend for draft model for a qucik fix (sgl-project#15002)
  [diffusion] fix: use NDRotaryEmbedding in flux_2   (sgl-project#15034)
  Mistral Large 3 NVFP4 support (sgl-project#14485)
  call check_quantized_moe_compatibility after initialize (sgl-project#13876)
  Add sgl_router_attempt_http_responses_total for single attempt information (sgl-project#15037)
  Add error code in prometheus metrics and add X-SMG-Error-Code header (sgl-project#15036)
  Provide more fine grained error reason for reqwest error (sgl-project#15032)
  Tiny change http router response format to unify (sgl-project#15031)
  Tiny unify grpc existing error responses into new format (sgl-project#15030)
  Add `code` field and unify error responses for router (sgl-project#15028)
  Super tiny remove unused log_request (sgl-project#15035)
  Fix decode OOM caused by retraction (sgl-project#14939)
  [CI]Add gb200 runner back (sgl-project#15024)
  Add a special label for b200 CI runner that can run kernel tests (sgl-project#15033)
  Fix regression caused by fa3 block_table (sgl-project#15009)
  ...

# Conflicts:
#	python/sglang/srt/hardware_backend/npu/attention/ascend_backend.py
Prozac614 pushed a commit to Prozac614/sglang that referenced this pull request Dec 17, 2025
GuoYechang pushed a commit to GuoYechang/sglang that referenced this pull request Jan 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments