
    iL                    ^   d dl mZ d dlmZ d dlmZ ddlmZmZm	Z	m
Z
mZmZmZmZ ddlmZ  e       rd dlZerddlmZ dd	lmZ i d
d
dd
dd
dddddddddddddddddddddddddddddddddddZd Zdad Z	 d"	 	 	 	 	 	 	 d#dZg d Z	 	 	 d$	 	 	 	 	 	 	 	 	 d%d!Zy)&    )annotations)deepcopy)TYPE_CHECKING   )ChunkConcatenate"ErnieFuseAndSplitTextVisionExpertsForce16BytesAlignmentMergeModulelist	TransposeWeightConverterWeightRenaming)is_torch_availableN)PreTrainedModel)HfQuantizermixtralminimax
minimax_m2	qwen2_moedeepseek_v2deepseek_v3dots1ernie4_5_moeglm4_moeglm4_moe_lite	glm4v_moelongcat_flash
solar_open	qwen3_moeqwen3_omni_moeqwen3_omni_moe_thinker
qwen3_nextrt_detr)hunyuan_v1_moe	flex_olmoolmoe
exaone_moe
rt_detr_v2pp_doclayout_v3c                    i dt        dd      t        dd      t        dd      gdt        d	d
      t        dd      t        dd      gdt        ddt               g      t        ddt               g      gdt        dd      t        ddgdt        d      t	        d      g      t        dgdt        d      g      gd t        d!d"gdt        d      t	        d      g      t        d#dt        d      g      gd$t        d!d"gdt        d      t	        d      t        dd%      g      t        d#dt        d      t        dd%      g      gd&t        dd      t        d'd(      t        ddgdt        d      t	        d      g      t        ddt        d      g      gd)t        d*d+gd,t        d      t	        d      g      t        d-d.t        d      g      gd/t        d0d1      t        d2d3      t        d4d5      t        d6d7      t        d8d9      t        d:d;      t        d<d=      t        d>d?      t        d@dA      t        dBdCt        ddD      g      t        dEdFt        ddD      g      t        dGgdHdIgt        d      g      t        dJgdKdLgt        ddM      g      t        dNdOgdPdQgt        ddM      g      gdRt        dSdT      t        dUdV      t        dWdX      t        dYdZ      gd[t        dUdV      t        dWdX      t        dYdZ      t        d\d]      gd^t        dSdT      t        d_d`      t        dadb      t        dWdX      t        dYdZ      t        dcdd      t        dedf      t        dgdh      t        didj      t        dkdl      t        dmdn      t        dodp      t        dqdr      t        dsdt      t        dudv      t        dwdx      gdyt        dSdT      t        d_d`      t        dWdX      t        dYdZ      gdzt        dUdV      t        dWd{      t        dYd|      t        d\d]      gd}t        d~dgd,t        d      t	        d      g      t        dd.t        d      g      gdt        dd      gdt        dd      t        dd      g} t        t        j                  j                  j                  d      r&| dxx   t        dd      t        dd      gz  cc<   n%| dxx   t        dd      t        dd      gz  cc<   | d    j                         | d<   | dxx   t        dGd      gz  cc<   | d   j                         | d<   | dxx   t        dd      gz  cc<   | d    j                         | d<   | dxx   t        dd      gz  cc<   t        j                         D ]   \  }}|| v r| |   j                         | |<   " | S )Nt5gemma2z((?<!vision_model\.)encoder.embed_tokens.z encoder.text_model.embed_tokens.z (?<!vision_model\.)encoder.norm.zencoder.text_model.norm.z"(?<!vision_model\.)encoder.layers.zencoder.text_model.layers.t5gemma2_encoderz^embed_tokens.ztext_model.embed_tokens.z^norm.ztext_model.norm.z^layers.ztext_model.layers.gpt_osszmlp.experts.gate_up_proj$zmlp.experts.gate_up_proj)source_patternstarget_patterns
operationszmlp.experts.down_proj$zmlp.experts.down_projr   z.block_sparse_moe.z.mlp.z.experts.*.w1.weightz.experts.*.w3.weightz.experts.gate_up_projr   )dimr   z.experts.*.w2.weightz.experts.down_projr   zmlp.experts.*.gate_proj.weightzmlp.experts.*.up_proj.weightzmlp.experts.*.down_proj.weightqwen3_vl_moe   phimoez.gate.weightz.router.weightlfm2_moez feed_forward.experts.*.w1.weightz feed_forward.experts.*.w3.weightz!feed_forward.experts.gate_up_projz feed_forward.experts.*.w2.weightzfeed_forward.experts.down_projernie4_5_vl_moevision_modelvision_towerzspatial_linear.0zspatial_linear.fc1zspatial_linear.2zspatial_linear.fc2zspatial_linear.3zspatial_linear.lnztemporal_linear.0ztemporal_linear.fc1ztemporal_linear.2ztemporal_linear.fc2ztemporal_linear.3ztemporal_linear.lnz!(?<!language_model\.)embed_tokenszlanguage_model.embed_tokensz(?<!language_model\.)layerszlanguage_model.layerszmlp.gate.weight_1zmlp.vision_moe.gate.weight)dim0dim1zmlp.gate.weightzmlp.text_moe.gate.weightz'mlp.moe_statics.e_score_correction_biasz5mlp.text_moe.gate.moe_statics.e_score_correction_biasz7mlp.vision_moe.gate.moe_statics.e_score_correction_biaszexperts.*.down_proj.weightztext_moe.experts.down_projzvision_moe.experts.down_proj)	stack_dim
concat_dimzexperts.*.gate_proj.weightzexperts.*.up_proj.weightztext_moe.experts.gate_up_projzvision_moe.experts.gate_up_projdetrzbackbone.conv_encoderbackboneout_projo_projzlayers.(\d+).fc1zlayers.\1.mlp.fc1zlayers.(\d+).fc2zlayers.\1.mlp.fc2r#   zencoder.encoder.(\d+).layerszencoder.aifi.\1.layersconditional_detrzself_attn.out_projzself_attn.o_projzencoder_attn.out_projzencoder_attn.o_projz%decoder.layers.(\d+).sa_qcontent_projz*decoder.layers.\1.self_attn.q_content_projz!decoder.layers.(\d+).sa_qpos_projz&decoder.layers.\1.self_attn.q_pos_projz%decoder.layers.(\d+).sa_kcontent_projz*decoder.layers.\1.self_attn.k_content_projz!decoder.layers.(\d+).sa_kpos_projz&decoder.layers.\1.self_attn.k_pos_projzdecoder.layers.(\d+).sa_v_projz"decoder.layers.\1.self_attn.v_projz%decoder.layers.(\d+).ca_qcontent_projz-decoder.layers.\1.encoder_attn.q_content_projz!decoder.layers.(\d+).ca_qpos_projz)decoder.layers.\1.encoder_attn.q_pos_projz%decoder.layers.(\d+).ca_kcontent_projz-decoder.layers.\1.encoder_attn.k_content_projz!decoder.layers.(\d+).ca_kpos_projz)decoder.layers.\1.encoder_attn.k_pos_projzdecoder.layers.(\d+).ca_v_projz%decoder.layers.\1.encoder_attn.v_projz&decoder.layers.(\d+).ca_qpos_sine_projz.decoder.layers.\1.encoder_attn.q_pos_sine_projdeformable_detrd_finezlayers.\1.mlp.layers.0zlayers.\1.mlp.layers.1jambaz'feed_forward.experts.*.gate_proj.weightz%feed_forward.experts.*.up_proj.weightz'feed_forward.experts.*.down_proj.weighttimm_wrapperz(.+)ztimm_model.\1r.   r/   legacyzLayerNorm.gammazLayerNorm.weightzLayerNorm.betazLayerNorm.biasweight_normz
.weight_g$z".parametrizations.weight.original0z
.weight_v$z".parametrizations.weight.original1z!parametrizations.weight.original0weight_gz!parametrizations.weight.original1weight_vr   z,mlp.gate.moe_statics.e_score_correction_biasr   z).block_sparse_moe.e_score_correction_biasz.mlp.e_score_correction_biasr'   zmlp.e_score_correction_biasz mlp.gate.e_score_correction_bias)r   r   r
   r   r   r   r   r	   hasattrtorchnnutilsparametrizationscopy_MODEL_TO_CONVERSION_PATTERNitems)mapping
model_typebase_patterns      i/home/obispo/Crisostomo_bridge/mision_env/lib/python3.12/site-packages/transformers/conversion_mapping.py$_build_checkpoint_conversion_mappingrW   G   s   wFHjk>@Z[@B^_
w 	+-GH8%78:';<
w 	  ; :134
  8 7134
w8 	/9**! !8#  A&	 *! !5#

9wn 	42! !;+2KA4FG  @ 7+23
owL 	42! !;+2KA4F	RSUVX  @ 7+2IaOD
Mwj 	/9>+;<**! !8+2KA4FG  6 4+23
kwL 	66! !D+2KA4FG  B @+23
Mwj 	>>:-/CD-/CD-/BC.0EF.0EF.0DE?A^_9;RS 3 <%1156
  1 :%1156
 !J KKM! "aL> != >02! ?WXYZ 0.!
 45! ?WXYZ
O2
kwP 	2J?:x0.0DE.0DE	
Qw\ 	:x0.0DE.0DE:<UV	
]wh 	2J?/1CD24IJ.0DE.0DECErs?AjkCErs?Ajk<>cdCEuv?AmnCEuv?Amn<>fg9;l%
iwT 	2J?/1CD.0DE.0DE	
Uw` 	:x0.0IJ.0IJ:<UV	
awl 	=;! !D+2KA4FG  I @+23
mwJ 	  ' 0
KwZ 	 1 2  0 0	
[wGp uxx~~..> , D  , D	
 		
 	 C *  C *	
 		
 &k2779GNN@Bpq   $I.335GLLBDbc  $K0557GLLn-JLnopp$@$F$F$H ; 
L %l388:
;
 N    c                ^    t         
t               a t        t         j                  |             S N)$_checkpoint_conversion_mapping_cacherW   r   get)rT   s    rV   !get_checkpoint_conversion_mappingr]   m  s(    +3/S/U,8<<ZHIIrX   c                h    t         
t               a | t         v r|st        d|  d      |t         | <   y )NzModel type z5 already exists in the checkpoint conversion mapping.)r[   rW   
ValueError)rT   rS   	overwrites      rV   &register_checkpoint_conversion_mappingra   t  s>     ,3/S/U,99);zl2ghii7>(4rX   )aria	ayavisioncolpaliemu3fuyugotocr2gemma3internvlllavamistral3mllama	paligemmashieldgemma2qwen2vl
qwen2_5_vl
videollavavipllava
sam3_videosam3sam3_trackersam3_tracker_videopaddleocrvlr6   r=   c                *   g }|.|j                         D cg c]  \  }}t        ||       }}}n`t        d | j                  j                  dd D              r7| j
                  j                         D cg c]  \  }}t        ||       }}}t        | j                  dd      }|t        |      }||j                  |       |r|j                  t        d             ||j                  |j                                |S c c}}w c c}}w )z
    For a given `model`, obtain the weight conversion mapping if any are registered either as a simple renaming
    `_checkpoint_conversion_mapping` class argument, or in the general WeightConverter mapping.
    NrF   c              3  j   K   | ]+  }t         D ]   }||j                  j                         v  " - y wrZ   )VLMS__name__lower).0
class_nameallowed_names      rV   	<genexpr>z/get_model_conversion_mapping.<locals>.<genexpr>  sA         	
++11333s   13rT   rG   )rR   r   any	__class____mro___checkpoint_conversion_mappinggetattrconfigr]   extendget_weight_conversions)	modelkey_mappinghf_quantizer
add_legacyweight_conversionskvrT   model_specific_conversionss	            rV   get_model_conversion_mappingr     s"     _j_p_p_rsW[WXZ[nQPQRss	 //11#26 
 <<BBD
1 1a@
 
 |T:J%Fz%R"%1%%&@A!!"CH"MN  	!!,"E"E"GHA t
s   D	9D)F)rT   strrS   &list[WeightConverter | WeightRenaming]r`   boolreturnNone)NNT)
r   r   r   zdict[str, str] | Noner   zHfQuantizer | Noner   r   r   r   )
__future__r   rP   r   typingr   core_model_loadingr   r   r	   r
   r   r   r   r   rN   r   rL   modeling_utilsr   
quantizersr   rQ   rW   r[   r]   ra   rz   r    rX   rV   <module>r      s   #   	 	 	 &  /' y  y  )	    ;  ;  [  K    [    [  +   ! " k# $ k% & +' ( " 3  :`F	 (, $J Y^??D?QU?	?< *.'+	..&. %. 	.
 ,.rX   