@@ -1328,6 +1328,7 @@ def __init__(self, *args, **kwargs):
1328
1328
self .tensor_map = gguf .get_tensor_name_map (gguf .MODEL_ARCH .MMPROJ , self .block_count )
1329
1329
1330
1330
# load preprocessor config
1331
+ self .preprocessor_config = {}
1331
1332
if not self .is_mistral_format :
1332
1333
with open (self .dir_model / "preprocessor_config.json" , "r" , encoding = "utf-8" ) as f :
1333
1334
self .preprocessor_config = json .load (f )
@@ -1350,7 +1351,8 @@ def set_gguf_parameters(self):
1350
1351
self .gguf_writer .add_vision_projection_dim (self .n_embd_text )
1351
1352
1352
1353
# vision config
1353
- self .gguf_writer .add_vision_image_size (self .find_vparam (["image_size" ]))
1354
+ self .image_size = self .find_vparam (["image_size" ])
1355
+ self .gguf_writer .add_vision_image_size (self .image_size )
1354
1356
self .gguf_writer .add_vision_patch_size (self .find_vparam (["patch_size" ]))
1355
1357
self .gguf_writer .add_vision_embedding_length (self .find_vparam (["hidden_size" ]))
1356
1358
self .gguf_writer .add_vision_feed_forward_length (self .find_vparam (["intermediate_size" ]))
@@ -2381,6 +2383,10 @@ def set_gguf_parameters(self):
2381
2383
self .gguf_writer .add_vision_projector_scale_factor (self .global_config .get ("scale_factor" , 2 ))
2382
2384
self .gguf_writer .add_vision_use_gelu (True )
2383
2385
2386
+ # Add the preprocessor longest edge size
2387
+ preproc_image_size = self .preprocessor_config .get ("size" , {}).get ("longest_edge" , self .image_size )
2388
+ self .gguf_writer .add_vision_preproc_image_size (preproc_image_size )
2389
+
2384
2390
def tensor_force_quant (self , name , new_name , bid , n_dims ):
2385
2391
if ".embeddings." in name :
2386
2392
return gguf .GGMLQuantizationType .F32
0 commit comments