o
    1jI                     @   s  d Z ddlZeddfeddfgZdd Zd	d
 Zddddd fddd fddd fddd fddd fddddddddgZg d Zg d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d fd7d8d fd9d:d fd;d<d fd=d>d fd?d@d fdAdBd fdCdDd fdEdFd fdGdHd fdIdJd fdKdLd fdMdNdOdPZg dQZ	e	g dR Z
g dSZg dTZg dUZg dVe Zg dWe Zg dXdYdZd[d fd\d]d fd^d_d fd`dad fdbdcd fdddddddddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddZg dZg dZdgZdgZg dZddgZdgZg dZeddg ZdgZddgZdS )a  Key mappings for pdparams -> safetensors conversion.

Each mapping is an ordered list of (regex_pattern, replacement) tuples.
Applied iteratively: after each substitution, the full rule set is re-scanned
until no more substitutions occur (matching convert.py's convert_key logic).
    Nz(.+)\._mean$z\1.running_meanz(.+)\._variance$z\1.running_varc                 C   sP   i }|   D ]\}}|}tD ]\}}|||\}}|dkr  nq|||< q|S )z.Rename Paddle BatchNorm keys to HF convention.r   )items_BN_KEY_RULESsubn)
state_dictnew_sdkvnew_keypatternreplacementn r   x/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/paddlex/modules/base/utils/pdparams2safetensors/mapping.pyrename_bn_keys   s   
r   c                 C   s   i }|   D ]A\}}|}	 d}|D ]-\}}t|r!t|||}	nt|||\}	}
|
dkr4|	}d} n|	|kr>|	}d} nq|sBnq|||< q|S )zApply regex key mappings to state dict.

    Each key is tested against all rules iteratively until no more
    substitutions occur, matching convert.py's convert_key logic.
    TFr   )r   callableresubr   )r   mappingr   keyvaluecurrent_keyZreplacedr
   r   r	   r   r   r   r   apply_key_mapping,   s.   
r   )z^conv1\.conv\.z encoder.convolution.convolution.)z^conv1\.bn\.z"encoder.convolution.normalization.z^blocks2\.(\d+)\.c                 C      d|  d dS )Nzencoder.blocks.0.layers.   .groupmr   r   r   <lambda>P       r   z^blocks3\.(\d+)\.c                 C   r   )Nzencoder.blocks.1.layers.r   r   r   r   r   r   r   r   Q   r    z^blocks4\.(\d+)\.c                 C   r   )Nzencoder.blocks.2.layers.r   r   r   r   r   r   r   r   R   r    z^blocks5\.(\d+)\.c                 C   r   )Nzencoder.blocks.3.layers.r   r   r   r   r   r   r   r   S   r    z^blocks6\.(\d+)\.c                 C   r   )Nzencoder.blocks.4.layers.r   r   r   r   r   r   r   r   T   r    )z\.dw_conv\.conv\.z#.depthwise_convolution.convolution.)z\.dw_conv\.bn\.z%.depthwise_convolution.normalization.)z\.pw_conv\.conv\.z#.pointwise_convolution.convolution.)z\.pw_conv\.bn\.z%.pointwise_convolution.normalization.z\.se\.conv1\.z*.squeeze_excitation_module.convolutions.0.z\.se\.conv2\.z*.squeeze_excitation_module.convolutions.2.)z^fc\.zhead.)z^last_conv\.zlast_convolution.)%)zneck\.ins_conv\.(\d+)\.se_blockz2model.neck.insert_conv.\1.squeeze_excitation_block)zneck\.ins_conv\.zmodel.neck.insert_conv.)zneck\.inp_conv\.(\d+)\.se_blockz1model.neck.input_conv.\1.squeeze_excitation_block)zneck\.inp_conv\.zmodel.neck.input_conv.)z^head\.binarize\.conv1\.weightz!head.conv_down.convolution.weight)z^head\.binarize\.conv2\.weightzhead.conv_up.convolution.weight)z^head\.binarize\.conv2\.biaszhead.conv_up.convolution.bias)z^head\.binarize\.conv3\.weightzhead.conv_final.weight)z^head\.binarize\.conv3\.biaszhead.conv_final.bias)z!^head\.binarize\.conv_bn1\.weightzhead.conv_down.norm.weight)z^head\.binarize\.conv_bn1\.biaszhead.conv_down.norm.bias)z'^head\.binarize\.conv_bn1\.running_meanz head.conv_down.norm.running_mean)z&^head\.binarize\.conv_bn1\.running_varzhead.conv_down.norm.running_var)z!^head\.binarize\.conv_bn2\.weightzhead.conv_up.norm.weight)z^head\.binarize\.conv_bn2\.biaszhead.conv_up.norm.bias)z'^head\.binarize\.conv_bn2\.running_meanzhead.conv_up.norm.running_mean)z&^head\.binarize\.conv_bn2\.running_varzhead.conv_up.norm.running_var)z^backbone\.conv1\.conv\.weight$z5model.backbone.encoder.convolution.convolution.weight)z^backbone\.conv1\.bn\.weight$z7model.backbone.encoder.convolution.normalization.weight)z^backbone\.conv1\.bn\.bias$z5model.backbone.encoder.convolution.normalization.bias)z#^backbone\.conv1\.bn\.running_mean$z=model.backbone.encoder.convolution.normalization.running_mean)z"^backbone\.conv1\.bn\.running_var$z<model.backbone.encoder.convolution.normalization.running_var)z%^backbone\.layer_list\.(\d+)\.weight$zmodel.layer.\1.weight)z#^backbone\.layer_list\.(\d+)\.bias$zmodel.layer.\1.bias)z^backbone\.blocks2\.0\.z)model.backbone.encoder.blocks.0.layers.0.^backbone\.blocks3\.(\d+)\.z*model.backbone.encoder.blocks.1.layers.\1.^backbone\.blocks4\.(\d+)\.z*model.backbone.encoder.blocks.2.layers.\1.^backbone\.blocks5\.(\d+)\.z*model.backbone.encoder.blocks.3.layers.\1.^backbone\.blocks6\.(\d+)\.z*model.backbone.encoder.blocks.4.layers.\1.z\.dw_conv\.z.depthwise_convolution.z\.pw_conv\.z.pointwise_convolution.)zconv_1x1\.conv\.z!conv_small_symmetric.convolution.)zconv_1x1\.bn\.z#conv_small_symmetric.normalization.)zconv_kxk\.(\d+)\.conv\.zconv_symmetric.\1.convolution.)zconv_kxk\.(\d+)\.bn\.z conv_symmetric.\1.normalization.r!   r"   )zL^backbone\.stages\.(\d+)\.blocks\.(\d+)\.layers\.(\d+)\.conv(\d)\.bn\.(\w+)$zLmodel.backbone.encoder.stages.\1.blocks.\2.layers.\3.conv\4.normalization.\5)zN^backbone\.stages\.(\d+)\.blocks\.(\d+)\.layers\.(\d+)\.conv(\d)\.conv\.(\w+)$zJmodel.backbone.encoder.stages.\1.blocks.\2.layers.\3.conv\4.convolution.\5)B^backbone\.stages\.(\d+)\.blocks\.(\d+)\.layers\.(\d+)\.bn\.(\w+)$zEmodel.backbone.encoder.stages.\1.blocks.\2.layers.\3.normalization.\4)D^backbone\.stages\.(\d+)\.blocks\.(\d+)\.layers\.(\d+)\.conv\.(\w+)$zCmodel.backbone.encoder.stages.\1.blocks.\2.layers.\3.convolution.\4)0^backbone\.stages\.(\d+)\.downsample\.bn\.(\w+)$z<model.backbone.encoder.stages.\1.downsample.normalization.\2)2^backbone\.stages\.(\d+)\.downsample\.conv\.(\w+)$z:model.backbone.encoder.stages.\1.downsample.convolution.\2)M^backbone\.stages\.(\d+)\.blocks\.(\d+)\.aggregation_squeeze_conv\.bn\.(\w+)$zImodel.backbone.encoder.stages.\1.blocks.\2.aggregation.0.normalization.\3)O^backbone\.stages\.(\d+)\.blocks\.(\d+)\.aggregation_squeeze_conv\.conv\.(\w+)$zGmodel.backbone.encoder.stages.\1.blocks.\2.aggregation.0.convolution.\3)P^backbone\.stages\.(\d+)\.blocks\.(\d+)\.aggregation_excitation_conv\.bn\.(\w+)$zImodel.backbone.encoder.stages.\1.blocks.\2.aggregation.1.normalization.\3)R^backbone\.stages\.(\d+)\.blocks\.(\d+)\.aggregation_excitation_conv\.conv\.(\w+)$zGmodel.backbone.encoder.stages.\1.blocks.\2.aggregation.1.convolution.\3)z+^backbone\.stem\.stem(\d+[ab]?)\.bn\.(\w+)$z/model.backbone.embedder.stem\1.normalization.\2)z-^backbone\.stem\.stem(\d+[ab]?)\.conv\.(\w+)$z-model.backbone.embedder.stem\1.convolution.\2)z^head\.binarize\.conv1\.(\w+)$z+head.binarize_head.conv_down.convolution.\1)z^head\.binarize\.conv2\.(\w+)$z)head.binarize_head.conv_up.convolution.\1)z^head\.binarize\.conv3\.(\w+)$z head.binarize_head.conv_final.\1)z!^head\.binarize\.conv_bn1\.(\w+)$z$head.binarize_head.conv_down.norm.\1)z!^head\.binarize\.conv_bn2\.(\w+)$z"head.binarize_head.conv_up.norm.\1)z&^head\.cbn_layer\.last_3\.conv\.(\w+)$z@head.local_refinement_module.convolution_backbone.convolution.\1)z$^head\.cbn_layer\.last_3\.bn\.(\w+)$z9head.local_refinement_module.convolution_backbone.norm.\1)z ^head\.cbn_layer\.last_1\.(\w+)$z1head.local_refinement_module.convolution_final.\1z0^neck\.incl(\d+)\.conv1x1_reduce_channel\.(\w+)$c                 C   $   dt | dd  d| d S )Nmodel.neck.intraclass_blocks.r   z.conv_reduce_channel.   intr   r   r   r   r   r         $ z0^neck\.incl(\d+)\.conv1x1_return_channel\.(\w+)$c                 C   r5   )Nr6   r   z.conv_final.convolution.r7   r8   r   r   r   r   r      r:   z^neck\.incl(\d+)\.bn\.(\w+)$c                 C   r5   )Nr6   r   z.conv_final.norm.r7   r8   r   r   r   r   r      r:   z%^neck\.incl(\d+)\.v_layer_7x1\.(\w+)$c                 C   r5   )Nr6   r   z'.vertical_long_to_small_conv_longratio.r7   r8   r   r   r   r   r      r:   z%^neck\.incl(\d+)\.v_layer_5x1\.(\w+)$c                 C   r5   )Nr6   r   z&.vertical_long_to_small_conv_midratio.r7   r8   r   r   r   r   r     r:   z%^neck\.incl(\d+)\.v_layer_3x1\.(\w+)$c                 C   r5   )Nr6   r   z(.vertical_long_to_small_conv_shortratio.r7   r8   r   r   r   r   r     r:   z%^neck\.incl(\d+)\.q_layer_1x7\.(\w+)$c                 C   r5   )Nr6   r   z).horizontal_small_to_long_conv_longratio.r7   r8   r   r   r   r   r     r:   z%^neck\.incl(\d+)\.q_layer_1x5\.(\w+)$c                 C   r5   )Nr6   r   z(.horizontal_small_to_long_conv_midratio.r7   r8   r   r   r   r   r     r:   z%^neck\.incl(\d+)\.q_layer_1x3\.(\w+)$c                 C   r5   )Nr6   r   z*.horizontal_small_to_long_conv_shortratio.r7   r8   r   r   r   r   r     r:   z%^neck\.incl(\d+)\.c_layer_7x7\.(\w+)$c                 C   r5   )Nr6   r   z.symmetric_conv_long_longratio.r7   r8   r   r   r   r   r     r:   z%^neck\.incl(\d+)\.c_layer_5x5\.(\w+)$c                 C   r5   )Nr6   r   z.symmetric_conv_long_midratio.r7   r8   r   r   r   r   r     r:   z%^neck\.incl(\d+)\.c_layer_3x3\.(\w+)$c                 C   r5   )Nr6   r   z .symmetric_conv_long_shortratio.r7   r8   r   r   r   r   r     r:   )z^neck\.inp_conv\.(\d+)\.weight$z9model.neck.input_feature_projection_convolution.\1.weight)z^neck\.ins_conv\.(\d+)\.weight$z9model.neck.input_channel_adjustment_convolution.\1.weight)z#^neck\.pan_lat_conv\.(\d+)\.weight$z9model.neck.path_aggregation_lateral_convolution.\1.weight)z$^neck\.pan_head_conv\.(\d+)\.weight$z6model.neck.path_aggregation_head_convolution.\1.weight)9)$^backbone\.stem\.(\w+)\.conv\.(\w+)$z/model.backbone.model.embedder.\1.convolution.\2)"^backbone\.stem\.(\w+)\.bn\.(\w+)$z1model.backbone.model.embedder.\1.normalization.\2)r2   zMmodel.backbone.model.encoder.stages.\1.blocks.\2.aggregation.0.convolution.\3)r1   zOmodel.backbone.model.encoder.stages.\1.blocks.\2.aggregation.0.normalization.\3)r4   zMmodel.backbone.model.encoder.stages.\1.blocks.\2.aggregation.1.convolution.\3)r3   zOmodel.backbone.model.encoder.stages.\1.blocks.\2.aggregation.1.normalization.\3)zO^backbone\.stages\.(\d+)\.blocks\.(\d+)\.layers\.(\d+)\.conv(\d+)\.conv\.(\w+)$zPmodel.backbone.model.encoder.stages.\1.blocks.\2.layers.\3.conv\4.convolution.\5)zM^backbone\.stages\.(\d+)\.blocks\.(\d+)\.layers\.(\d+)\.conv(\d+)\.bn\.(\w+)$zRmodel.backbone.model.encoder.stages.\1.blocks.\2.layers.\3.conv\4.normalization.\5)r.   zImodel.backbone.model.encoder.stages.\1.blocks.\2.layers.\3.convolution.\4)r-   zKmodel.backbone.model.encoder.stages.\1.blocks.\2.layers.\3.normalization.\4)r0   z@model.backbone.model.encoder.stages.\1.downsample.convolution.\2)r/   zBmodel.backbone.model.encoder.stages.\1.downsample.normalization.\2)z^neck\.input_proj\.zmodel.encoder_input_proj.)z/^neck\.encoder\.(\d+)\.layers\.(\d+)\.linear1\.z'model.encoder.encoder.\1.layers.\2.fc1.)z/^neck\.encoder\.(\d+)\.layers\.(\d+)\.linear2\.z'model.encoder.encoder.\1.layers.\2.fc2.)z-^neck\.encoder\.(\d+)\.layers\.(\d+)\.norm1\.z8model.encoder.encoder.\1.layers.\2.self_attn_layer_norm.)z-^neck\.encoder\.(\d+)\.layers\.(\d+)\.norm2\.z4model.encoder.encoder.\1.layers.\2.final_layer_norm.)z^neck\.encoder\.(\d+)\.layers\.z model.encoder.encoder.\1.layers.)z$^neck\.downsample_convs\.(\d+)\.bn\.z'model.encoder.downsample_convs.\1.norm.)z^neck\.downsample_convs\.zmodel.encoder.downsample_convs.)z!^neck\.lateral_convs\.(\d+)\.bn\.z$model.encoder.lateral_convs.\1.norm.)z^neck\.lateral_convs\.zmodel.encoder.lateral_convs.)z?^neck\.fpn_blocks\.(\d+)\.((?:bottlenecks\.\d+\.)?conv\d)\.bn\.z$model.encoder.fpn_blocks.\1.\2.norm.)z^neck\.fpn_blocks\.zmodel.encoder.fpn_blocks.)z?^neck\.pan_blocks\.(\d+)\.((?:bottlenecks\.\d+\.)?conv\d)\.bn\.z$model.encoder.pan_blocks.\1.\2.norm.)z^neck\.pan_blocks\.zmodel.encoder.pan_blocks.)z;^neck\.mask_feat_head\.scale_heads\.(\d+)\.(\d+)\.0\.conv\.zEmodel.encoder.mask_feature_head.scale_heads.\1.layers.\2.convolution.)z9^neck\.mask_feat_head\.scale_heads\.(\d+)\.(\d+)\.0\.bn\.zGmodel.encoder.mask_feature_head.scale_heads.\1.layers.\2.normalization.)z*^neck\.mask_feat_head\.output_conv\.conv\.z8model.encoder.mask_feature_head.output_conv.convolution.)z(^neck\.mask_feat_head\.output_conv\.bn\.z:model.encoder.mask_feature_head.output_conv.normalization.)z^neck\.enc_mask_lateral\.conv\.z/model.encoder.encoder_mask_lateral.convolution.)z^neck\.enc_mask_lateral\.bn\.z1model.encoder.encoder_mask_lateral.normalization.)z!^neck\.enc_mask_output\.0\.conv\.z8model.encoder.encoder_mask_output.base_conv.convolution.)z^neck\.enc_mask_output\.0\.bn\.z:model.encoder.encoder_mask_output.base_conv.normalization.)z^neck\.enc_mask_output\.1\.z'model.encoder.encoder_mask_output.conv.)z-^transformer\.input_proj\.(\d+)\.conv\.(\w+)$z model.decoder_input_proj.\1.0.\2)z-^transformer\.input_proj\.(\d+)\.norm\.(\w+)$z model.decoder_input_proj.\1.1.\2)z2^transformer\.decoder\.layers\.(\d+)\.cross_attn\.z%model.decoder.layers.\1.encoder_attn.)z/^transformer\.decoder\.layers\.(\d+)\.linear1\.zmodel.decoder.layers.\1.fc1.)z/^transformer\.decoder\.layers\.(\d+)\.linear2\.zmodel.decoder.layers.\1.fc2.)z-^transformer\.decoder\.layers\.(\d+)\.norm1\.z-model.decoder.layers.\1.self_attn_layer_norm.)z-^transformer\.decoder\.layers\.(\d+)\.norm2\.z0model.decoder.layers.\1.encoder_attn_layer_norm.)z-^transformer\.decoder\.layers\.(\d+)\.norm3\.z)model.decoder.layers.\1.final_layer_norm.)z^transformer\.decoder\.model.decoder.)z^transformer\.query_pos_head\.zmodel.decoder.query_pos_head.)z^transformer\.bbox_head\.model.enc_bbox_head.)z^transformer\.score_head\.model.enc_score_head.)z^transformer\.enc_bbox_head\.r>   )z^transformer\.enc_score_head\.r?   )z^transformer\.dec_bbox_head\.zmodel.decoder.bbox_embed.)z^transformer\.dec_score_head\.zmodel.decoder.class_embed.)z^transformer\.enc_output\.zmodel.enc_output.)z^transformer\.mask_query_head\.zmodel.mask_query_head.)z"^transformer\.dec_global_pointer\.zmodel.decoder_global_pointer.)z^transformer\.dec_norm\.zmodel.decoder_norm.)z^transformer\.dec_order_head\.zmodel.decoder_order_head.)z%^transformer\.denoising_class_embed\.zmodel.denoising_class_embed.))z'^transformer\.reading_order_predictor\.zreading_order.)z&reading_order\.embeddings\.LayerNorm\.zreading_order.embeddings.norm.)zDreading_order\.encoder\.layer\.(\d+)\.attention\.output\.LayerNorm\.z5reading_order.encoder.layer.\1.attention.output.norm.)z9reading_order\.encoder\.layer\.(\d+)\.output\.LayerNorm\.z+reading_order.encoder.layer.\1.output.norm.),)z*^resnet_down\.layer1\.(\d+)\.conv1\.(\w+)$Abackbone.resnet.resnet_down.0.layers.\1.conv_start.convolution.\2)z*^resnet_down\.layer1\.(\d+)\.conv2\.(\w+)$Abackbone.resnet.resnet_down.0.layers.\1.conv_final.convolution.\2)z-^resnet_down\.layer1\.(\d+)\.conv1\.0\.(\w+)$r@   )z-^resnet_down\.layer1\.(\d+)\.conv2\.0\.(\w+)$rA   )z(^resnet_down\.layer1\.(\d+)\.bn1\.(\w+)$zCbackbone.resnet.resnet_down.0.layers.\1.conv_start.normalization.\2)z(^resnet_down\.layer1\.(\d+)\.bn2\.(\w+)$zCbackbone.resnet.resnet_down.0.layers.\1.conv_final.normalization.\2)z*^resnet_down\.layer2\.(\d+)\.conv1\.(\w+)$Abackbone.resnet.resnet_down.1.layers.\1.conv_start.convolution.\2)z*^resnet_down\.layer2\.(\d+)\.conv2\.(\w+)$Abackbone.resnet.resnet_down.1.layers.\1.conv_final.convolution.\2)z-^resnet_down\.layer2\.(\d+)\.conv1\.0\.(\w+)$rB   )z-^resnet_down\.layer2\.(\d+)\.conv2\.0\.(\w+)$rC   )z(^resnet_down\.layer2\.(\d+)\.bn1\.(\w+)$zCbackbone.resnet.resnet_down.1.layers.\1.conv_start.normalization.\2)z(^resnet_down\.layer2\.(\d+)\.bn2\.(\w+)$zCbackbone.resnet.resnet_down.1.layers.\1.conv_final.normalization.\2)z2^resnet_down\.layer2\.(\d+)\.downsample\.0\.(\w+)$z@backbone.resnet.resnet_down.1.layers.\1.conv_down.convolution.\2)z2^resnet_down\.layer2\.(\d+)\.downsample\.1\.(\w+)$zBbackbone.resnet.resnet_down.1.layers.\1.conv_down.normalization.\2)z*^resnet_down\.layer3\.(\d+)\.conv1\.(\w+)$Abackbone.resnet.resnet_down.2.layers.\1.conv_start.convolution.\2)z*^resnet_down\.layer3\.(\d+)\.conv2\.(\w+)$Abackbone.resnet.resnet_down.2.layers.\1.conv_final.convolution.\2)z-^resnet_down\.layer3\.(\d+)\.conv1\.0\.(\w+)$rD   )z-^resnet_down\.layer3\.(\d+)\.conv2\.0\.(\w+)$rE   )z(^resnet_down\.layer3\.(\d+)\.bn1\.(\w+)$zCbackbone.resnet.resnet_down.2.layers.\1.conv_start.normalization.\2)z(^resnet_down\.layer3\.(\d+)\.bn2\.(\w+)$zCbackbone.resnet.resnet_down.2.layers.\1.conv_final.normalization.\2)z2^resnet_down\.layer3\.(\d+)\.downsample\.0\.(\w+)$z@backbone.resnet.resnet_down.2.layers.\1.conv_down.convolution.\2)z2^resnet_down\.layer3\.(\d+)\.downsample\.1\.(\w+)$zBbackbone.resnet.resnet_down.2.layers.\1.conv_down.normalization.\2)z^resnet_head\.0\.z*backbone.resnet.resnet_head.0.convolution.)z^resnet_head\.1\.z,backbone.resnet.resnet_head.0.normalization.)z^resnet_head\.3\.z*backbone.resnet.resnet_head.1.convolution.)z^resnet_head\.4\.z,backbone.resnet.resnet_head.1.normalization.)z^bridge_1\.(\d+)\.0\.z/backbone.bridge.bridge.0.blocks.\1.convolution.)z^bridge_1\.(\d+)\.1\.z1backbone.bridge.bridge.0.blocks.\1.normalization.)z^bridge_2\.(\d+)\.0\.z/backbone.bridge.bridge.1.blocks.\1.convolution.)z^bridge_2\.(\d+)\.1\.z1backbone.bridge.bridge.1.blocks.\1.normalization.)z^bridge_3\.(\d+)\.0\.z/backbone.bridge.bridge.2.blocks.\1.convolution.)z^bridge_3\.(\d+)\.1\.z1backbone.bridge.bridge.2.blocks.\1.normalization.)z^bridge_4\.(\d+)\.0\.z/backbone.bridge.bridge.3.blocks.\1.convolution.)z^bridge_4\.(\d+)\.1\.z1backbone.bridge.bridge.3.blocks.\1.normalization.)z^bridge_5\.(\d+)\.0\.z/backbone.bridge.bridge.4.blocks.\1.convolution.)z^bridge_5\.(\d+)\.1\.z1backbone.bridge.bridge.4.blocks.\1.normalization.)z^bridge_6\.(\d+)\.0\.z/backbone.bridge.bridge.5.blocks.\1.convolution.)z^bridge_6\.(\d+)\.1\.z1backbone.bridge.bridge.5.blocks.\1.normalization.)z^out_point_positions2D\.0\.z1head.out_point_positions2D.conv_down.convolution.)z^out_point_positions2D\.1\.z3head.out_point_positions2D.conv_down.normalization.)z#^out_point_positions2D\.2\._weight$z6head.out_point_positions2D.conv_down.activation.weight)z^out_point_positions2D\.3\.z#head.out_point_positions2D.conv_up.)z^bridge_concat\.0\.z"head.bridge_connector.convolution.)z^bridge_concat\.1\.z$head.bridge_connector.normalization.))z)^qwen2\.vision_tower_high\.net_2\.weight$z2model.multi_modal_projector.conv_upsampler1.weight)z)^qwen2\.vision_tower_high\.net_3\.weight$z2model.multi_modal_projector.conv_upsampler2.weight)z^qwen2\.mm_projector_vary\.z1model.multi_modal_projector.multimodal_projector.)z1^qwen2\.vision_tower_high\.blocks\.(\d+)\.norm1\.z)model.vision_tower.layers.\1.layer_norm1.)z1^qwen2\.vision_tower_high\.blocks\.(\d+)\.norm2\.z)model.vision_tower.layers.\1.layer_norm2.)z*^qwen2\.vision_tower_high\.blocks\.(\d+)\.zmodel.vision_tower.layers.\1.)z.^qwen2\.vision_tower_high\.patch_embed\.proj\.z*model.vision_tower.patch_embed.projection.)z%^qwen2\.vision_tower_high\.pos_embed$zmodel.vision_tower.pos_embed)z$^qwen2\.vision_tower_high\.neck\.0\.zmodel.vision_tower.neck.conv1.)z$^qwen2\.vision_tower_high\.neck\.1\.z$model.vision_tower.neck.layer_norm1.)z$^qwen2\.vision_tower_high\.neck\.2\.zmodel.vision_tower.neck.conv2.)z$^qwen2\.vision_tower_high\.neck\.3\.z$model.vision_tower.neck.layer_norm2.)z^qwen2\.layers\.(\d+)\.zmodel.language_model.layers.\1.)z^qwen2\.norm\.zmodel.language_model.norm.))z*^head\.ctc_encoder\.encoder\.conv1\.conv\.z&head.encoder.conv_block.0.convolution.)z*^head\.ctc_encoder\.encoder\.conv1\.norm\.z(head.encoder.conv_block.0.normalization.)z*^head\.ctc_encoder\.encoder\.conv2\.conv\.z&head.encoder.conv_block.1.convolution.)z*^head\.ctc_encoder\.encoder\.conv2\.norm\.z(head.encoder.conv_block.1.normalization.)z*^head\.ctc_encoder\.encoder\.conv3\.conv\.z&head.encoder.conv_block.2.convolution.)z*^head\.ctc_encoder\.encoder\.conv3\.norm\.z(head.encoder.conv_block.2.normalization.)z*^head\.ctc_encoder\.encoder\.conv4\.conv\.z&head.encoder.conv_block.3.convolution.)z*^head\.ctc_encoder\.encoder\.conv4\.norm\.z(head.encoder.conv_block.3.normalization.)z,^head\.ctc_encoder\.encoder\.conv1x1\.conv\.z&head.encoder.conv_block.4.convolution.)z,^head\.ctc_encoder\.encoder\.conv1x1\.norm\.z(head.encoder.conv_block.4.normalization.)z7^head\.ctc_encoder\.encoder\.svtr_block\.(\d+)\.norm1\.z'head.encoder.svtr_block.\1.layer_norm1.)z7^head\.ctc_encoder\.encoder\.svtr_block\.(\d+)\.norm2\.z'head.encoder.svtr_block.\1.layer_norm2.)z<^head\.ctc_encoder\.encoder\.svtr_block\.(\d+)\.mixer\.qkv\.z)head.encoder.svtr_block.\1.self_attn.qkv.)z=^head\.ctc_encoder\.encoder\.svtr_block\.(\d+)\.mixer\.proj\.z0head.encoder.svtr_block.\1.self_attn.projection.)z5^head\.ctc_encoder\.encoder\.svtr_block\.(\d+)\.mlp\.zhead.encoder.svtr_block.\1.mlp.)z#^head\.ctc_encoder\.encoder\.norm\.zhead.encoder.norm.)z^head\.ctc_head\.fc\.z
head.head.))z^backbone\.conv1\.conv\.(\w+)$z1model.backbone.encoder.convolution.convolution.\1)z^backbone\.conv1\.bn\.(\w+)$z3model.backbone.encoder.convolution.normalization.\1)^backbone\.blocks2\.(\d+)\.z*model.backbone.encoder.blocks.0.layers.\1.r#   r%   r'   r)   r+   r,   )z\.conv_kxk\.(\d+)\.conv\.z.conv_symmetric.\1.convolution.)z\.conv_kxk\.(\d+)\.bn\.z!.conv_symmetric.\1.normalization.)z\.conv_1x1\.conv\.z".conv_small_symmetric.convolution.)z\.conv_1x1\.bn\.z$.conv_small_symmetric.normalization.r!   r"   ))r;   z)model.backbone.embedder.\1.convolution.\2)r<   z+model.backbone.embedder.\1.normalization.\2)z^backbone\.stages\.zmodel.backbone.encoder.stages.)z"\.aggregation_squeeze_conv\.conv\.z.aggregation.0.convolution.)z \.aggregation_squeeze_conv\.bn\.z.aggregation.0.normalization.)z%\.aggregation_excitation_conv\.conv\.z.aggregation.1.convolution.)z#\.aggregation_excitation_conv\.bn\.z.aggregation.1.normalization.)z\.downsample\.conv\.z.downsample.convolution.)z\.downsample\.bn\.z.downsample.normalization.)z!\.layers\.(\d+)\.conv(\d)\.conv\.z.layers.\1.conv\2.convolution.)z\.layers\.(\d+)\.conv(\d)\.bn\.z .layers.\1.conv\2.normalization.)z\.layers\.(\d+)\.conv\.z.layers.\1.convolution.)z\.layers\.(\d+)\.bn\.z.layers.\1.normalization.)z^backbone\.conv1\.conv\.z9backbone.vision_backbone.encoder.convolution.convolution.)z^backbone\.conv1\.bn\.z;backbone.vision_backbone.encoder.convolution.normalization.rF   c                 C   r   )Nz1backbone.vision_backbone.encoder.blocks.0.layers.r   r   r   r   r   r   r   r   *  r    r$   c                 C   r   )Nz1backbone.vision_backbone.encoder.blocks.1.layers.r   r   r   r   r   r   r   r   .  r    r&   c                 C   r   )Nz1backbone.vision_backbone.encoder.blocks.2.layers.r   r   r   r   r   r   r   r   2  r    r(   c                 C   r   )Nz1backbone.vision_backbone.encoder.blocks.3.layers.r   r   r   r   r   r   r   r   6  r    r*   c                 C   r   )Nz1backbone.vision_backbone.encoder.blocks.4.layers.r   r   r   r   r   r   r   r   :  r    )z#^neck\.conv_t\.convs\.(\d+)\.conv\.z7backbone.post_csp_pan.channel_projector.\1.convolution.)z!^neck\.conv_t\.convs\.(\d+)\.bn\.z9backbone.post_csp_pan.channel_projector.\1.normalization.)z#^neck\.downsamples\.(\d+)\.dwconv\.zGbackbone.post_csp_pan.downsamples.\1.depthwise_convolution.convolution.)z#^neck\.downsamples\.(\d+)\.pwconv\.zGbackbone.post_csp_pan.downsamples.\1.pointwise_convolution.convolution.)z ^neck\.downsamples\.(\d+)\.bn1\.zIbackbone.post_csp_pan.downsamples.\1.depthwise_convolution.normalization.)z ^neck\.downsamples\.(\d+)\.bn2\.zIbackbone.post_csp_pan.downsamples.\1.pointwise_convolution.normalization.)z0^neck\.top_down_blocks\.(\d+)\.main_conv\.conv\.z;backbone.post_csp_pan.top_down_blocks.\1.conv2.convolution.)z.^neck\.top_down_blocks\.(\d+)\.main_conv\.bn\.z=backbone.post_csp_pan.top_down_blocks.\1.conv2.normalization.)z1^neck\.top_down_blocks\.(\d+)\.short_conv\.conv\.z;backbone.post_csp_pan.top_down_blocks.\1.conv1.convolution.)z/^neck\.top_down_blocks\.(\d+)\.short_conv\.bn\.z=backbone.post_csp_pan.top_down_blocks.\1.conv1.normalization.)z1^neck\.top_down_blocks\.(\d+)\.final_conv\.conv\.z;backbone.post_csp_pan.top_down_blocks.\1.conv3.convolution.)z/^neck\.top_down_blocks\.(\d+)\.final_conv\.bn\.z=backbone.post_csp_pan.top_down_blocks.\1.conv3.normalization.)z7^neck\.top_down_blocks\.(\d+)\.blocks\.0\.conv1\.conv\.zIbackbone.post_csp_pan.top_down_blocks.\1.bottlenecks.0.conv1.convolution.)z5^neck\.top_down_blocks\.(\d+)\.blocks\.0\.conv1\.bn\.zKbackbone.post_csp_pan.top_down_blocks.\1.bottlenecks.0.conv1.normalization.)z9^neck\.top_down_blocks\.(\d+)\.blocks\.0\.conv2\.dwconv\.z_backbone.post_csp_pan.top_down_blocks.\1.bottlenecks.0.conv2.depthwise_convolution.convolution.)z9^neck\.top_down_blocks\.(\d+)\.blocks\.0\.conv2\.pwconv\.z_backbone.post_csp_pan.top_down_blocks.\1.bottlenecks.0.conv2.pointwise_convolution.convolution.)z6^neck\.top_down_blocks\.(\d+)\.blocks\.0\.conv2\.bn1\.zabackbone.post_csp_pan.top_down_blocks.\1.bottlenecks.0.conv2.depthwise_convolution.normalization.)z6^neck\.top_down_blocks\.(\d+)\.blocks\.0\.conv2\.bn2\.zabackbone.post_csp_pan.top_down_blocks.\1.bottlenecks.0.conv2.pointwise_convolution.normalization.)z1^neck\.bottom_up_blocks\.(\d+)\.main_conv\.conv\.z<backbone.post_csp_pan.bottom_up_blocks.\1.conv2.convolution.)z/^neck\.bottom_up_blocks\.(\d+)\.main_conv\.bn\.z>backbone.post_csp_pan.bottom_up_blocks.\1.conv2.normalization.)z2^neck\.bottom_up_blocks\.(\d+)\.short_conv\.conv\.z<backbone.post_csp_pan.bottom_up_blocks.\1.conv1.convolution.)z0^neck\.bottom_up_blocks\.(\d+)\.short_conv\.bn\.z>backbone.post_csp_pan.bottom_up_blocks.\1.conv1.normalization.)z2^neck\.bottom_up_blocks\.(\d+)\.final_conv\.conv\.z<backbone.post_csp_pan.bottom_up_blocks.\1.conv3.convolution.)z0^neck\.bottom_up_blocks\.(\d+)\.final_conv\.bn\.z>backbone.post_csp_pan.bottom_up_blocks.\1.conv3.normalization.)z8^neck\.bottom_up_blocks\.(\d+)\.blocks\.0\.conv1\.conv\.zJbackbone.post_csp_pan.bottom_up_blocks.\1.bottlenecks.0.conv1.convolution.)z6^neck\.bottom_up_blocks\.(\d+)\.blocks\.0\.conv1\.bn\.zLbackbone.post_csp_pan.bottom_up_blocks.\1.bottlenecks.0.conv1.normalization.)z:^neck\.bottom_up_blocks\.(\d+)\.blocks\.0\.conv2\.dwconv\.z`backbone.post_csp_pan.bottom_up_blocks.\1.bottlenecks.0.conv2.depthwise_convolution.convolution.)z:^neck\.bottom_up_blocks\.(\d+)\.blocks\.0\.conv2\.pwconv\.z`backbone.post_csp_pan.bottom_up_blocks.\1.bottlenecks.0.conv2.pointwise_convolution.convolution.)z7^neck\.bottom_up_blocks\.(\d+)\.blocks\.0\.conv2\.bn1\.zbbackbone.post_csp_pan.bottom_up_blocks.\1.bottlenecks.0.conv2.depthwise_convolution.normalization.)z7^neck\.bottom_up_blocks\.(\d+)\.blocks\.0\.conv2\.bn2\.zbbackbone.post_csp_pan.bottom_up_blocks.\1.bottlenecks.0.conv2.pointwise_convolution.normalization.)z^head\.structure_generator\.0\.zhead.structure_generator.fc1.)z^head\.structure_generator\.1\.zhead.structure_generator.fc2.)z&^head\.structure_attention_cell\.i2h\.z.head.structure_attention_cell.input_to_hidden.)z&^head\.structure_attention_cell\.h2h\.z/head.structure_attention_cell.hidden_to_hidden.))z$backbone\.vision_tower_high\.net_2\.zbackbone.post_conv.)zvision_tower_high\.zvision_tower.)z
\.blocks\.z.layers.)z	\.norm1\.z.layer_norm1.)z	\.norm2\.z.layer_norm2.)zpatch_embed\.proj\.zpatch_embed.projection.)z\.neck\.0\.z.neck.conv1.)z\.neck\.1\.z.neck.layer_norm1.)z\.neck\.2\.z.neck.conv2.)z\.neck\.3\.z.neck.layer_norm2.)zstructure_generator\.0\.zstructure_generator.fc1.)zstructure_generator\.1\.zstructure_generator.fc2.)z\.i2h\.z.input_to_hidden.)z\.h2h\.z.hidden_to_hidden.))z ^head\.decoder\.model\.decoder\.r=   )z^head\.decoder\.lm_head\.zlm_head.)z^backbone\.mm_projector_vary\.z-model.encoder.multi_modal_projector.linear_1.)z^head\.enc_to_dec_proj\.z-model.encoder.multi_modal_projector.linear_2.)z%^backbone\.vision_tower_high\.net_2\.z*model.encoder.multi_modal_projector.conv1.)z%^backbone\.vision_tower_high\.net_3\.z*model.encoder.multi_modal_projector.conv2.)z'^backbone\.vision_tower_high\.pos_embedzmodel.encoder.pos_embed)z4^backbone\.vision_tower_high\.blocks\.(\d+)\.norm1\.z$model.encoder.layers.\1.layer_norm1.)z4^backbone\.vision_tower_high\.blocks\.(\d+)\.norm2\.z$model.encoder.layers.\1.layer_norm2.)z&^backbone\.vision_tower_high\.blocks\.zmodel.encoder.layers.)z1^backbone\.vision_tower_high\.patch_embed\.proj\.z%model.encoder.patch_embed.projection.)z'^backbone\.vision_tower_high\.neck\.0\.zmodel.encoder.neck.conv1.)z'^backbone\.vision_tower_high\.neck\.1\.zmodel.encoder.neck.layer_norm1.)z'^backbone\.vision_tower_high\.neck\.2\.zmodel.encoder.neck.conv2.)z'^backbone\.vision_tower_high\.neck\.3\.zmodel.encoder.neck.layer_norm2.zout_point_positions3D.zqwen2.embed_tokens.)z/transformer.reading_order_predictor.global_agg.z0transformer.reading_order_predictor.global_gate.z7transformer.reading_order_predictor.global_visual_proj.z?transformer.reading_order_predictor.visual_features_projection.z!backbone.vision_tower_high.net_3.zhead.loc_generator.)zhead.before_gtc.zhead.gtc_head.zhead.encoder_reshape.zbackbone.fc.zbackbone.last_conv.zhead.thresh.)__doc__r   compiler   r   r   ZPPLCNET_MAPPINGZPPOCRV5_MOBILE_DET_MAPPINGZPPOCRV5_SERVER_DET_MAPPINGZRTDETR_MAPPINGZPP_DOCLAYOUTV2_MAPPINGZUVDOC_MAPPINGZPP_CHART2TABLE_MAPPINGZ_SVTR_CTC_HEAD_MAPPINGZPPOCRV5_MOBILE_REC_MAPPINGZPPOCRV5_SERVER_REC_MAPPINGZSLANET_MAPPINGZSLANEXT_MAPPINGZPP_FORMULANET_MAPPINGZUVDOC_DROP_PREFIXESZPP_CHART2TABLE_DROP_PREFIXESZPP_DOCLAYOUTV2_DROP_PREFIXESZSLANEXT_DROP_PREFIXESZSLANET_DROP_PREFIXESZREC_DROP_PREFIXESZSERVER_REC_DROP_PREFIXESZMOBILE_DET_DROP_PREFIXESZSERVER_DET_DROP_PREFIXESr   r   r   r   <module>   s  !




E
 $(-16789:<@DJNRVZ^bfjnrvz~      @ 'C
!"$%&')*+,-./012346789:;<=>?@ACDEFK,