From 7de51b826cfc1826468f7d8cd827fec5a718dbe0 Mon Sep 17 00:00:00 2001 From: Sayak Paul Date: Fri, 5 Dec 2025 03:01:11 +0800 Subject: [PATCH] [lora] support more ZImage LoRAs (#12790) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit up Co-authored-by: Álvaro Somoza --- src/diffusers/loaders/lora_conversion_utils.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/diffusers/loaders/lora_conversion_utils.py b/src/diffusers/loaders/lora_conversion_utils.py index f3c17cd729..2e87f757c3 100644 --- a/src/diffusers/loaders/lora_conversion_utils.py +++ b/src/diffusers/loaders/lora_conversion_utils.py @@ -2417,6 +2417,17 @@ def _convert_non_diffusers_z_image_lora_to_diffusers(state_dict): state_dict = {convert_key(k): v for k, v in state_dict.items()} + def normalize_out_key(k: str) -> str: + if ".to_out" in k: + return k + return re.sub( + r"\.out(?=\.(?:lora_down|lora_up)\.weight$|\.alpha$)", + ".to_out.0", + k, + ) + + state_dict = {normalize_out_key(k): v for k, v in state_dict.items()} + has_default = any("default." in k for k in state_dict) if has_default: state_dict = {k.replace("default.", ""): v for k, v in state_dict.items()}