From b7c7bec6606c41b8c4db6b5fb4f72cedd2e44a8e Mon Sep 17 00:00:00 2001 From: leejet Date: Thu, 6 Aug 2026 01:36:54 +0800 Subject: [PATCH] fix: map Qwen3-VL DeepStack GGUF tensor names --- src/name_conversion.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/name_conversion.cpp b/src/name_conversion.cpp index 7f2d00063..73f068795 100644 --- a/src/name_conversion.cpp +++ b/src/name_conversion.cpp @@ -185,6 +185,20 @@ std::string convert_cond_stage_model_name(std::string name, std::string prefix) } std::string convert_qwen3_vl_vision_name(std::string name) { + static const std::vector> qwen3_vl_deepstack_name_map{ + {"v.deepstack_merger_list.", "deepstack_merger_list."}, + {"v.deepstack.5.", "deepstack_merger_list.0."}, + {"v.deepstack.8.", "deepstack_merger_list.0."}, + {"v.deepstack.11.", "deepstack_merger_list.1."}, + {"v.deepstack.16.", "deepstack_merger_list.1."}, + {"v.deepstack.17.", "deepstack_merger_list.2."}, + {"v.deepstack.24.", "deepstack_merger_list.2."}, + {"fc1.", "linear_fc1."}, + {"fc2.", "linear_fc2."}, + {"ffn_up.", "linear_fc1."}, + {"ffn_down.", "linear_fc2."}, + {"ffn_norm.", "norm."}, + }; static const std::vector> qwen3_vl_vision_name_map{ {"mm.0.", "merger.linear_fc1."}, {"mm.2.", "merger.linear_fc2."}, @@ -201,6 +215,10 @@ std::string convert_qwen3_vl_vision_name(std::string name) { {"ln1.", "norm1."}, {"ln2.", "norm2."}, }; + if (contains(name, "v.deepstack_merger_list.") || contains(name, "v.deepstack.")) { + replace_with_name_map(name, qwen3_vl_deepstack_name_map); + return name; + } replace_with_name_map(name, qwen3_vl_vision_name_map); return name; }