CoolFace
Modelpublic

Felipe97/llama-cpp-compiled

sourceHugging Faceupdated 3d agoView on Hugging Face
0likes1.1kdownloads
pixtral.py42 linesDownload Raw Back to conversion
1from __future__ import annotations2 3from typing import Sequence4 5from .base import gguf6 7from .llava import LlavaVisionModel8 9 10class PixtralModel(LlavaVisionModel):11    model_name = "Pixtral"12    hf_arch = ""13    is_mistral_format = True14 15    def set_gguf_parameters(self):16        super().set_gguf_parameters()17        self.gguf_writer.add_clip_projector_type(gguf.VisionProjectorType.PIXTRAL)18 19        self.gguf_writer.add_vision_attention_layernorm_eps(20            self.find_hparam(["norm_eps"])21        )22        self.gguf_writer.add_rope_freq_base(self.find_vparam(["rope_theta"]))23 24        self.gguf_writer.add_vision_use_silu(True)25 26        # spatial_merge_size27        if self.find_vparam(["mm_projector_id"], optional=True) == "patch_merge":28            self.gguf_writer.add_vision_spatial_merge_size(29                self.find_vparam(["spatial_merge_size"])30            )31 32    def map_tensor_name(self, name: str, try_suffixes: Sequence[str] = (".weight", ".bias")) -> str:33        if name == "vision_language_adapter.w_in.weight":34            return "mm.1.weight"35        elif name == "vision_language_adapter.w_in.bias":36            return "mm.1.bias"37        elif name == "vision_language_adapter.w_out.weight":38            return "mm.2.weight"39        elif name == "vision_language_adapter.w_out.bias":40            return "mm.2.bias"41        return super().map_tensor_name(name, try_suffixes)42