
    i                     j    d Z ddlmZ ddlmZ ddlmZ  ed      e G d d	e                    Zd	gZy
)zUDOP model configuration    )strict   )PreTrainedConfig)auto_docstringzmicrosoft/udop-large)
checkpointc                       e Zd ZU dZdZdgZddddZdZee	d	<   d
Z
ee	d<   dZee	d<   dZee	d<   dZee	d<   dZedz  e	d<   dZee	d<   dZee	d<   dZee	d<   dZee   dz  e	d<   dZeez  e	d<   dZee	d<   dZee	d<   dZee	d<   d Zee	d!<   d Zee	d"<   d#Zedz  e	d$<   d%Zeee   z  dz  e	d&<   d
Z ee	d'<   d(Z!eee   z  e"eef   z  e	d)<   dZ#eee   z  e"eef   z  e	d*<   d+Z$ee	d,<   d-Z%ee	d.<   d-Z&ee	d/<   d Z'ee	d0<    fd1Z(d2 Z) xZ*S )3
UdopConfiga  
    relative_attention_num_buckets (`int`, *optional*, defaults to 32):
        The number of buckets to use for each attention layer.
    relative_attention_max_distance (`int`, *optional*, defaults to 128):
        The maximum distance of the longer sequences for the bucket separation.
    relative_bias_args (`list[dict]`, *optional*, defaults to `[{'type': '1d'}, {'type': 'horizontal'}, {'type': 'vertical'}]`):
        A list of dictionaries containing the arguments for the relative bias layers.
    feed_forward_proj (`string`, *optional*, defaults to `"relu"`):
        Type of feed forward layer to be used. Should be one of `"relu"` or `"gated-gelu"`. Udopv1.1 uses the
        `"gated-gelu"` feed forward projection. Original Udop uses `"relu"`.
    max_2d_position_embeddings (`int`, *optional*, defaults to 1024):
        The maximum absolute position embeddings for relative position encoding.
    udoppast_key_valuesd_model	num_heads
num_layers)hidden_sizenum_attention_headsnum_hidden_layersi  
vocab_sizei   @   d_kvi   d_ff   Nnum_decoder_layers       relative_attention_num_buckets   relative_attention_max_distancerelative_bias_argsg?dropout_rategư>layer_norm_epsilong      ?initializer_factorrelufeed_forward_projTis_encoder_decoder	use_cacher   pad_token_id   eos_token_idmax_2d_position_embeddings   
image_size
patch_sizer   num_channelsF
is_decoderadd_cross_attentiontie_word_embeddingsc                 D   | j                   ddiddiddig| _         | j                  | j                  n| j                  | _        | j                  j	                  d      }|d   | _        |d   dk(  | _        |j                  d	d        d
| _        t        | (  di | y )Ntype1d
horizontalvertical-r   gatedr/   T )r   r   r   r"   splitdense_act_fnis_gated_actpopr/   super__post_init__)selfkwargsact_info	__class__s      |/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/transformers/models/udop/configuration_udop.pyr>   zUdopConfig.__post_init__E   s    ""*(.~7MPVXbOc&dD# (,'>'>'JD##PTP_P_ 	 ))//4$RL$QK72

($/#' ''    c                     | j                   j                  d      }t        |      dkD  r|d   dk7  st        |      dkD  rt        d| j                    d      y)	zOPart of `@strict`-powered validation. Validates the architecture of the config.r5   r&   r   r7      z`feed_forward_proj`: z is not a valid activation function of the dense layer.Please make sure `feed_forward_proj` is of the format `gated-{ACT_FN}` or `{ACT_FN}`, e.g. 'gated-gelu' or 'relu'N)r"   r9   len
ValueError)r?   rA   s     rC   validate_architecturez UdopConfig.validate_architectureU   sf    ))//4x=1!!73x=1;L'(>(>'? @) )  <MrD   )+__name__
__module____qualname____doc__
model_typekeys_to_ignore_at_inferenceattribute_mapr   int__annotations__r   r   r   r   r   r   r   r   r   listdictr   floatr   r    r"   strr#   boolr$   r%   r'   r(   r*   tupler+   r,   r-   r.   r/   r>   rI   __classcell__)rB   s   @rC   r	   r	      s    J#4"5$-khtuMJGSD#ND#J%)d
)Is*,"C,+.#S.,0T
T)0 #L%#+# $$ ###s###It L#* +,L#S	/D(,&**47Jd3i%S/1746Jd3i%S/16L#J %% $$( rD   r	   N)	rM   huggingface_hub.dataclassesr   configuration_utilsr   utilsr   r	   __all__r8   rD   rC   <module>r^      sJ     . 3 # 12E! E  3EP .rD   