From 26b79b6cb3e7840ff15729350e95907e19f9f480 Mon Sep 17 00:00:00 2001 From: Xuan-Son Nguyen Date: Wed, 28 May 2025 10:05:54 +0200 Subject: [PATCH] convert : fix tensor naming conflict for llama 4 vision (#13836) * convert : fix tensor naming conflict for llama 4 vision * add comment --- convert_hf_to_gguf.py | 3 +++ gguf-py/gguf/tensor_mapping.py | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/convert_hf_to_gguf.py b/convert_hf_to_gguf.py index a015ecee0..7f935d091 100755 --- a/convert_hf_to_gguf.py +++ b/convert_hf_to_gguf.py @@ -2169,6 +2169,9 @@ class Llama4VisionModel(MmprojModel): # process vision tensors if "positional_embedding_vlm" in name and ".weight" not in name: name += ".weight" + if "multi_modal_projector.linear_1" in name: + # despite the name with number postfix, this is a single fully connected layer + return [(gguf.TENSOR_NAMES[gguf.MODEL_TENSOR.V_MMPROJ_FC], data_torch)] return [(self.map_tensor_name(name), data_torch)] return [] diff --git a/gguf-py/gguf/tensor_mapping.py b/gguf-py/gguf/tensor_mapping.py index 000ffd006..48167dd64 100644 --- a/gguf-py/gguf/tensor_mapping.py +++ b/gguf-py/gguf/tensor_mapping.py @@ -902,7 +902,6 @@ class TensorNameMap: MODEL_TENSOR.V_MMPROJ_FC: ( "model.connector.modality_projection.proj", # SmolVLM - "multi_modal_projector.linear_1", # llama 4 ), MODEL_TENSOR.V_MMPROJ_MLP: (