
    笜ifK              
      @   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 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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)PreTrainedModel)HfQuantizermixtralminimax
minimax_m2	qwen2_moedeepseek_v2deepseek_v3dots1ernie4_5_moeglm4_moeglm4_moe_liteglm_moe_dsa	glm4v_moelongcat_flash
solar_open	qwen3_moeqwen3_omni_moeqwen3_omni_moe_thinkerrt_detr)
qwen3_nextqwen3_5_moehunyuan_v1_moe	flex_olmoolmoe
exaone_moe
rt_detr_v2pp_doclayout_v3c                    i dt        dd      g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t        d!d)d*+      t               g      t        ddt        d!d)d*+      t               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        d0d1gd2t        d       t	        d!       g      t        d3d4t        d       g      gd5t        d6d7      t        d8d9      t        d:d;      t        d<d=      t        d>d?      t        d@dA      t        dBdC      t        dDdE      t        dFdG      t        dHdIt        dd!J      g      t        dKdLt        dd!J      g      t        dMgdNdOgt        d       g      t        dPgdQdRgt        dd!S      g      t        dTdUgdVdWgt        dd!S      g      gdXt        dYdZ      t        d[d\      t        d]d^      t        d_d`      gdat        d[d\      t        d]d^      t        d_d`      t        dbdc      gddt        dYdZ      t        dedf      t        dgdh      t        d]d^      t        d_d`      t        didj      t        dkdl      t        dmdn      t        dodp      t        dqdr      t        dsdt      t        dudv      t        dwdx      t        dydz      t        d{d|      t        d}d~      gdt        dYdZ      t        dedf      t        d]d^      t        d_d`      gdt        d[d\      t        d]d      t        d_d      t        dbdc      gdt        ddgd2t        d       t	        d!       g      t        dd4t        d       g      gdt        dd      gdt        dd      t        dd      gi} | dxx   t        dd      t        dd      gz  cc<   | d$   j                         | d<   | dxx   t        dMd      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<   | d   j                         | d<   | dxx   | d$   j                         z  cc<   t        j                         D ]   \  }}|| v r| |   j                         | |<   " | S )Nqwen3_5_textz^model.language_modelmodelsource_patternstarget_patterns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)r/   r0   
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   T)
check_dims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legacyzLayerNorm.gammazLayerNorm.weightzLayerNorm.betazLayerNorm.biasz
.weight_g$z".parametrizations.weight.original0z
.weight_v$z".parametrizations.weight.original1r   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qwen3_5_moe_text)r   r   r
   r   r   r   r   r	   copy_MODEL_TO_CONVERSION_PATTERNitems)mapping
model_typebase_patterns      [/mnt/e/genesis-system/.venv/lib/python3.12/site-packages/transformers/conversion_mapping.py$_build_checkpoint_conversion_mappingrT   D   s   w+CU\]
w 	FHjk>@Z[@B^_
	w 	+-GH8%78:';<
w 	  ; :134
  8 7134
w> 	/9**! !8#  A&	 *! !5#

?wt 	42! !;+2KA4FG  @ 7+23
uwR 	 : :%at<>S>UV
  7 7%at<>S>UV
S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 H(@	
 	(@	
	 	 &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")."9">">"@G7;#7#<#<#>>$@$F$F$H ; 
L %l388:
;
 N    Nc                ^    t         
t               a t        t         j                  |             S N)$_checkpoint_conversion_mapping_cacherT   r   get)rQ   s    rS   !get_checkpoint_conversion_mappingrZ   a  s(    +3/S/U,8<<ZHIIrU   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.)rX   rT   
ValueError)rQ   rP   	overwrites      rS   &register_checkpoint_conversion_mappingr^   h  s>     ,3/S/U,99);zl2ghii7>(4rU   )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paddleocrvlr;   rB   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.
    Nr.   c              3  j   K   | ]+  }t         D ]   }||j                  j                         v  " - y wrW   )VLMS__name__lower).0
class_nameallowed_names      rS   	<genexpr>z/get_model_conversion_mapping.<locals>.<genexpr>  sA         	
++11333s   13rQ   rK   )rO   r   any	__class____mro___checkpoint_conversion_mappinggetattrconfigrZ   extendget_weight_conversions)	r-   key_mappinghf_quantizer
add_legacyweight_conversionskvrQ   model_specific_conversionss	            rS   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)rQ   strrP   &list[WeightConverter | WeightRenaming]r]   boolreturnNone)NNT)
r-   r   r   zdict[str, str] | Noner   zHfQuantizer | Noner   r   r   r   )
__future__r   rM   r   typingr   core_model_loadingr   r   r	   r
   r   r   r   r   modeling_utilsr   
quantizersr   rN   rT   rX   rZ   r^   rw   r    rU   rS   <module>r      s   #   	 	 	 /' y  y  )	    ;  ;  [  K    [  ;    [   +! " # $ k% & k' ( ! 7  >Wt (, $J Y^??D?QU?	?< *.'+	..&. %. 	.
 ,.rU   