From 3d5fdd7b375f3b7004117d63845efb8646e968a1 Mon Sep 17 00:00:00 2001 From: leejet Date: Wed, 24 Dec 2025 22:59:23 +0800 Subject: [PATCH] feat: add support for more underline loras (#1135) --- name_conversion.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/name_conversion.cpp b/name_conversion.cpp index 6a8ae72..3ae229b 100644 --- a/name_conversion.cpp +++ b/name_conversion.cpp @@ -960,6 +960,7 @@ bool is_first_stage_model_name(const std::string& name) { std::string convert_tensor_name(std::string name, SDVersion version) { bool is_lora = false; bool is_lycoris_underline = false; + bool is_underline = false; std::vector lora_prefix_vec = { "lora.lora.", "lora.lora_", @@ -967,12 +968,27 @@ std::string convert_tensor_name(std::string name, SDVersion version) { "lora.lycoris.", "lora.", }; + std::vector underline_lora_prefix_vec = { + "unet_", + "te_", + "te1_", + "te2_", + "te3_", + "vae_", + }; for (const auto& prefix : lora_prefix_vec) { if (starts_with(name, prefix)) { is_lora = true; name = name.substr(prefix.size()); if (contains(prefix, "lycoris_")) { is_lycoris_underline = true; + } else { + for (const auto& underline_lora_prefix : underline_lora_prefix_vec) { + if (starts_with(name, underline_lora_prefix)) { + is_underline = true; + break; + } + } } break; } @@ -1034,7 +1050,7 @@ std::string convert_tensor_name(std::string name, SDVersion version) { // LOG_DEBUG("name %s %d", name.c_str(), version); - if (sd_version_is_unet(version) || sd_version_is_flux(version) || is_lycoris_underline) { + if (sd_version_is_unet(version) || is_underline || is_lycoris_underline) { name = convert_sep_to_dot(name); } }