ó
    qyüi—  ã                   óˆ   • S r SSKJr  SSKJr  SSKJrJr  \" 5       (       a  SSKr\" SS9\ " S	 S
\5      5       5       r	S
/r
g)zLayoutLMv2 model configurationé    )Ústricté   )ÚPreTrainedConfig)Úauto_docstringÚis_detectron2_availableNz!microsoft/layoutlmv2-base-uncased)Ú
checkpointc                   óð  ^ • \ rS rSr% SrSrSr\\S'   Sr	\\S'   Sr
\\S	'   Sr\\S
'   Sr\\S'   Sr\\S'   Sr\\-  \S'   Sr\\-  \S'   Sr\\S'   Sr\\S'   Sr\\S'   Sr\\S'   Sr\S-  \S'   Sr\\S'   Sr\\S '   S!r\\S"'   S#r\\S$'   S%r\\S&'   S'r\\S('   S#r\\S)'   S*r\ \   \!\S+4   -  \S,'   Sr"\\S-'   Sr#\\S.'   S#r$\\S/'   S#r%\\S0'   S1r&\\S2'   Sr'\(S-  \S3'   U 4S4 jr)\*S5 5       r+S6 r,S7r-U =r.$ )8ÚLayoutLMv2Configé   a
  
max_2d_position_embeddings (`int`, *optional*, defaults to 1024):
    The maximum value that the 2D position embedding might ever be used with. Typically set this to something
    large just in case (e.g., 1024).
max_rel_pos (`int`, *optional*, defaults to 128):
    The maximum number of relative positions to be used in the self-attention mechanism.
rel_pos_bins (`int`, *optional*, defaults to 32):
    The number of relative position bins to be used in the self-attention mechanism.
fast_qkv (`bool`, *optional*, defaults to `True`):
    Whether or not to use a single matrix for the queries, keys, values in the self-attention layers.
max_rel_2d_pos (`int`, *optional*, defaults to 256):
    The maximum number of relative 2D positions in the self-attention mechanism.
rel_2d_pos_bins (`int`, *optional*, defaults to 64):
    The number of 2D relative position bins in the self-attention mechanism.
convert_sync_batchnorm (`bool`, *optional*, defaults to `True`):
    Whether or not to convert batch normalization layers to synchronized batch normalization layers.
image_feature_pool_shape (`list[int]`, *optional*, defaults to `[7, 7, 256]`):
    The shape of the average-pooled feature map.
coordinate_size (`int`, *optional*, defaults to 128):
    Dimension of the coordinate embeddings.
shape_size (`int`, *optional*, defaults to 128):
    Dimension of the width and height embeddings.
has_relative_attention_bias (`bool`, *optional*, defaults to `True`):
    Whether or not to use a relative attention bias in the self-attention mechanism.
has_spatial_attention_bias (`bool`, *optional*, defaults to `True`):
    Whether or not to use a spatial attention bias in the self-attention mechanism.
has_visual_segment_embedding (`bool`, *optional*, defaults to `False`):
    Whether or not to add visual segment embeddings.
detectron2_config_args (`dict`, *optional*):
    Dictionary containing the configuration arguments of the Detectron2 visual backbone. Refer to [this
    file](https://github.com/microsoft/unilm/blob/master/layoutlmft/layoutlmft/models/layoutlmv2/detectron2_config.py)
    for details regarding default values.

Example:

```python
>>> from transformers import LayoutLMv2Config, LayoutLMv2Model

>>> # Initializing a LayoutLMv2 microsoft/layoutlmv2-base-uncased style configuration
>>> configuration = LayoutLMv2Config()

>>> # Initializing a model (with random weights) from the microsoft/layoutlmv2-base-uncased style configuration
>>> model = LayoutLMv2Model(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
```Ú
layoutlmv2i:w  Ú
vocab_sizei   Úhidden_sizeé   Únum_hidden_layersÚnum_attention_headsi   Úintermediate_sizeÚgeluÚ
hidden_actgš™™™™™¹?Úhidden_dropout_probÚattention_probs_dropout_probé   Úmax_position_embeddingsé   Útype_vocab_sizeg{®Gáz”?Úinitializer_rangegê-�™—q=Úlayer_norm_epsr   NÚpad_token_idi   Úmax_2d_position_embeddingsé€   Úmax_rel_posé    Úrel_pos_binsTÚfast_qkvé   Úmax_rel_2d_posé@   Úrel_2d_pos_binsÚconvert_sync_batchnorm)é   r)   r$   .Úimage_feature_pool_shapeÚcoordinate_sizeÚ
shape_sizeÚhas_relative_attention_biasÚhas_spatial_attention_biasFÚhas_visual_segment_embeddingÚdetectron2_config_argsc                 óŽ   >• [         TU ]  " S0 UD6  U R                  b  U R                  U l        g U R                  5       U l        g )N© )ÚsuperÚ__post_init__r0   Úget_default_detectron2_config)ÚselfÚkwargsÚ	__class__s     €Út/home/mande/repo/quber/.venv/lib/python3.13/site-packages/transformers/models/layoutlmv2/configuration_layoutlmv2.pyr4   ÚLayoutLMv2Config.__post_init__l   sJ   ø€ Ü‰ÒÑ' Ò'ð ×*Ñ*Ñ6ð ×'Ñ'ð 	Õ#ð ×3Ñ3Ó5ð 	Õ#ó    c                 óÆ   • 0 SS_S/ SQ_SS_S/ SQ_S	S
/S/S/S/S//_S/ SQ_SS_SS_SS_SS_SS_SS_S/ SQ_SS_SS _S!S"_S#S$_S%S&S'S
/S/S/S/S/// S(Q// SQS
S)S*S+.	E$ ),NzMODEL.MASK_ONTzMODEL.PIXEL_STD)g     °L@g�Âõ(\�L@gÃõ(\�2M@zMODEL.BACKBONE.NAMEÚbuild_resnet_fpn_backbonezMODEL.FPN.IN_FEATURES)Úres2Úres3Úres4Úres5zMODEL.ANCHOR_GENERATOR.SIZESr!   r&   r   r$   r   zMODEL.RPN.IN_FEATURES)Úp2Úp3Úp4Úp5Úp6zMODEL.RPN.PRE_NMS_TOPK_TRAINiÐ  zMODEL.RPN.PRE_NMS_TOPK_TESTiè  zMODEL.RPN.POST_NMS_TOPK_TRAINzMODEL.POST_NMS_TOPK_TESTzMODEL.ROI_HEADS.NAMEÚStandardROIHeadszMODEL.ROI_HEADS.NUM_CLASSESé   zMODEL.ROI_HEADS.IN_FEATURES)rB   rC   rD   rE   zMODEL.ROI_BOX_HEAD.NAMEÚFastRCNNConvFCHeadzMODEL.ROI_BOX_HEAD.NUM_FCr   z$MODEL.ROI_BOX_HEAD.POOLER_RESOLUTIONé   zMODEL.ROI_MASK_HEAD.NAMEÚMaskRCNNConvUpsampleHeadé   r)   ée   )g      à?g      ð?g       @é   F)	zMODEL.ROI_MASK_HEAD.NUM_CONVz%MODEL.ROI_MASK_HEAD.POOLER_RESOLUTIONzMODEL.RESNETS.DEPTHzMODEL.RESNETS.SIZESzMODEL.RESNETS.ASPECT_RATIOSzMODEL.RESNETS.OUT_FEATURESzMODEL.RESNETS.NUM_GROUPSzMODEL.RESNETS.WIDTH_PER_GROUPzMODEL.RESNETS.STRIDE_IN_1X1r2   )Úclss    r9   r5   Ú.LayoutLMv2Config.get_default_detectron2_configt   s+  € ð
Ø˜Tð
àÒ7ð
ð "Ð#>ð
ð $Ò%Eð	
ð
 +¨b¨T°B°4¸#¸ÀÀÈÀuÐ,Mð
ð $Ò%Cð
ð +¨Dð
ð *¨4ð
ð ,¨Tð
ð '¨ð
ð #Ð$6ð
ð *¨1ð
ð *Ò+Cð
ð &Ð';ð
ð (¨ð
ð  3°Bð!
ð" 'Ð(Bð#
ð$ -.Ø56Ø#&Ø%' D¨2¨$°°¸°u¸s¸eÐ#DÚ,;Ð+<Ú*JØ(*Ø-.Ø+0ò5
ð 	
r;   c                 óú   • [         R                  R                  5       nU R                  R	                  5        H>  u  p#UR                  S5      nUnUS S  H  n[        XV5      nM     [        XTS   U5        M@     U$ )NÚ.éÿÿÿÿ)Ú
detectron2ÚconfigÚget_cfgr0   ÚitemsÚsplitÚgetattrÚsetattr)r6   Údetectron2_configÚkÚvÚ
attributesÚto_setÚ	attributes          r9   Úget_detectron2_configÚ&LayoutLMv2Config.get_detectron2_config“   st   € Ü&×-Ñ-×5Ñ5Ó7ÐØ×/Ñ/×5Ñ5Ö7‰DˆAØŸ™ ›ˆJØ&ˆFØ'¨¨›_�	Ü  Ó3’ñ -ä�F r™N¨AÖ.ñ 8ð !Ð r;   )r0   )/Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú
model_typer   ÚintÚ__annotations__r   r   r   r   r   Ústrr   Úfloatr   r   r   r   r   r   r   r    r"   r#   Úboolr%   r'   r(   r*   ÚlistÚtupler+   r,   r-   r.   r/   r0   Údictr4   Úclassmethodr5   ra   Ú__static_attributes__Ú__classcell__)r8   s   @r9   r
   r
      sp  ø‡ ñ.ð` €Jà€J�ÓØ€K�ÓØÐ�sÓØ!Ð˜Ó!Ø!Ð�sÓ!Ø€J�ÓØ'*Ð˜ ™Ó*Ø03Ð  %¨#¡+Ó3Ø#&Ð˜SÓ&Ø€O�SÓØ#Ð�uÓ#Ø!€N�EÓ!Ø €L�#˜‘*Ó Ø&*Ð Ó*Ø€K�ÓØ€L�#ÓØ€HˆdÓØ€N�CÓØ€O�SÓØ#'Ð˜DÓ'Ø<GÐ˜d 3™i¨%°°S°©/Ñ9ÓGØ€O�SÓØ€J�ÓØ(,Ð Ó,Ø'+Ð Ó+Ø).Ð  $Ó.Ø*.Ð˜D 4™KÓ.õ
ð ñ
ó ð
÷<	!ð 	!r;   r
   )rg   Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úutilsr   r   rT   r
   Ú__all__r2   r;   r9   Ú<module>rx      sZ   ðñ %å .å 3ß <ñ ×ÑÛñ Ð>Ñ?Øô!Ð'ó !ó ó @ð!ðD Ð
�r;   