@@ -3538,25 +3538,16 @@ def modify_tensors(self, data_torch: Tensor, name: str, bid: int | None) -> Iter
35383538 return super ().modify_tensors (data_torch , name , bid )
35393539
35403540
3541- < << << << HEAD
35423541@ModelBase .register ("Qwen3VLForConditionalGeneration" , "Qwen3VLMoeForConditionalGeneration" )
35433542class Qwen3VLVisionModel (MmprojModel ):
3544- == == == =
3545- @ModelBase .register ("Qwen3VLMoeForConditionalGeneration" )
3546- class Qwen3VLMoeVisionModel (MmprojModel ):
3547- > >> >> >> remote - JJJYmmm / qwen3vl - 1022
35483543 def __init__ (self , * args , ** kwargs ):
35493544 super ().__init__ (* args , ** kwargs )
35503545 assert self .has_vision_encoder
35513546 assert self .hparams_vision is not None
35523547
35533548 # Compute image_size if not present
35543549 if "image_size" not in self .hparams_vision :
3555- < << << << HEAD
35563550 # For Qwen3VL/Qwen3VLMoe, compute from num_position_embeddings
3557- == == == =
3558- # For Qwen3VLMoe, compute from num_position_embeddings
3559- >> >> >> > remote - JJJYmmm / qwen3vl - 1022
35603551 num_pos = self .hparams_vision .get ("num_position_embeddings" , 2304 )
35613552 patch_size = self .hparams_vision .get ("patch_size" , 16 )
35623553 # num_position_embeddings = (image_size / patch_size) ** 2
@@ -3601,15 +3592,10 @@ def set_gguf_parameters(self):
36013592 self .gguf_writer .add_vision_deepstack_layers (self .deepstack_layers )
36023593
36033594 def modify_tensors (self , data_torch : Tensor , name : str , bid : int | None ) -> Iterable [tuple [str , Tensor ]]:
3604- < << << << HEAD
36053595 # Skip text model tensors - they go in the text model file
36063596 if name .startswith ("model.language_model." ) or name .startswith ("lm_head." ):
36073597 return []
36083598
3609- == == == =
3610- del bid # unused
3611-
3612- > >> >> >> remote - JJJYmmm / qwen3vl - 1022
36133599 if name .startswith ("model.visual." ):
36143600 name = name .replace ("model.visual." , "visual." , 1 )
36153601
@@ -3666,13 +3652,8 @@ def modify_tensors(self, data_torch: Tensor, name: str, bid: int | None) -> Iter
36663652 ]
36673653
36683654 if name == "visual.patch_embed.proj.bias" :
3669- < << << << HEAD
36703655 # Include the bias - it's used by the C++ code
36713656 return [(gguf .TENSOR_NAMES [gguf .MODEL_TENSOR .V_ENC_EMBD_PATCH ] + ".bias" , data_torch )]
3672- == == == =
3673- # Skip bias for Qwen3VL - the C++ code expects it to be null
3674- return []
3675- >> >> >> > remote - JJJYmmm / qwen3vl - 1022
36763657
36773658 if name .startswith ("visual." ):
36783659 if ".qkv." in name :
@@ -3695,12 +3676,8 @@ def modify_tensors(self, data_torch: Tensor, name: str, bid: int | None) -> Iter
36953676
36963677 return [(self .map_tensor_name (name ), data_torch )]
36973678
3698- < << << << HEAD
36993679 # Fall back to parent class for other tensors
37003680 return super ().modify_tensors (data_torch , name , bid )
3701- == == == =
3702- return []
3703- >> >> >> > remote - JJJYmmm / qwen3vl - 1022
37043681
37053682@ModelBase .register ("InternVisionModel" )
37063683class InternVisionModel (MmprojModel ):
@@ -4026,7 +4003,6 @@ def set_vocab(self):
40264003 super ().set_vocab ()
40274004
40284005
4029- < << << << HEAD
40304006@ModelBase .register ("Qwen3VLForConditionalGeneration" )
40314007class Qwen3VLTextModel (Qwen3Model ):
40324008 model_arch = gguf .MODEL_ARCH .QWEN3VL
@@ -4056,8 +4032,6 @@ def modify_tensors(self, data_torch: Tensor, name: str, bid: int | None) -> Iter
40564032 return super ().modify_tensors (data_torch , name , bid )
40574033
40584034
4059- == == == =
4060- >> >> >> > remote - JJJYmmm / qwen3vl - 1022
40614035@ModelBase .register ("Qwen3VLMoeForConditionalGeneration" )
40624036class Qwen3VLMoeTextModel (Qwen3MoeModel ):
40634037 model_arch = gguf .MODEL_ARCH .QWEN3VLMOE
@@ -4079,16 +4053,13 @@ def set_gguf_parameters(self):
40794053
40804054 logger .info (f"MRoPE sections: { mrope_section [:4 ]} " )
40814055
4082- < << << << HEAD
40834056 def modify_tensors (self , data_torch : Tensor , name : str , bid : int | None ) -> Iterable [tuple [str , Tensor ]]:
40844057 # Skip vision tensors - they go in the mmproj file
40854058 if name .startswith ("model.visual." ):
40864059 return []
40874060
40884061 return super ().modify_tensors (data_torch , name , bid )
40894062
4090- == == == =
4091- >> >> >> > remote - JJJYmmm / qwen3vl - 1022
40924063
40934064@ModelBase .register ("GPT2LMHeadModel" )
40944065class GPT2Model (TextModel ):
0 commit comments