From b43ce4badd8130e743be3096024f4fac5b05719e Mon Sep 17 00:00:00 2001 From: leejet Date: Mon, 9 Nov 2026 02:11:28 +0800 Subject: [PATCH] fix: preserve Krea2 text-fusion names in Kohya LoRAs (#2301) --- src/name_conversion.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/name_conversion.cpp b/src/name_conversion.cpp index 738723fa..6bcd483e 100644 --- a/src/name_conversion.cpp +++ b/src/name_conversion.cpp @@ -1403,8 +1403,8 @@ std::string convert_pmid_v2_name(const std::string& name) { return name; } -std::string convert_sep_to_dot(std::string name) { - const std::vector protected_tokens = { +std::string convert_sep_to_dot(std::string name, SDVersion version) { + std::vector protected_tokens = { "self_attn", "out_proj", "q_proj", @@ -1480,6 +1480,11 @@ std::string convert_sep_to_dot(std::string name) { "output_proj", "token_refiner", }; + if (sd_version_is_krea2(version)) { + protected_tokens.push_back("text_fusion"); + protected_tokens.push_back("layerwise_blocks"); + protected_tokens.push_back("refiner_blocks"); + } // record the positions of underscores that should NOT be replaced std::unordered_set protected_positions; @@ -1729,7 +1734,7 @@ std::string convert_tensor_name(std::string name, SDVersion version) { // LOG_VERBOSE("name %s %d", name.c_str(), version); if (sd_version_is_unet(version) || is_underline || is_lycoris_underline) { - name = convert_sep_to_dot(name); + name = convert_sep_to_dot(name, version); } }