Ë
    ÜÓ^j‘  ã                   ó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UMT5 model configurationé    )Ústricté   )ÚPreTrainedConfig)Úauto_docstringzgoogle/umt5-small)Ú
checkpointc                   óŠ  ‡ — e Zd ZU dZdZdgZd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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dz  e	d&<   d'Zeez  e	d(<   d)Z ee	d*<   ˆ fd+„Z!d,„ Z"ˆ xZ#S )-Ú
UMT5ConfigaÉ  
    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.
    feed_forward_proj (`str`, *optional*, defaults to `"gated-gelu"`):
        Type of feed forward layer to be used. Should be one of `"relu"` or `"gated-gelu"`.
    Úumt5Úpast_key_valuesÚd_modelÚ	num_headsÚ
num_layersÚd_kv)Úhidden_sizeÚnum_attention_headsÚnum_hidden_layersÚhead_dimi Ñ Ú
vocab_sizei   é@   i   Úd_ffé   NÚnum_decoder_layersé   é    Úrelative_attention_num_bucketsé€   Úrelative_attention_max_distancegš™™™™™¹?Údropout_rateg�íµ ÷Æ°>Úlayer_norm_epsilong      ð?Úinitializer_factorú
gated-geluÚfeed_forward_projTÚis_encoder_decoderÚ	use_cacher   Úpad_token_idé   Úeos_token_idÚdecoder_start_token_idg        Úclassifier_dropoutFÚ
is_decoderc                 ó8  •— | j                   �| j                   n| j                  | _         | j                  j                  d«      }|d   | _        |d   dk(  | _        | j                  dk(  rd| _        |j                  dd «       d| _        t        ‰| �$  d	i |¤Ž y )
Nú-éÿÿÿÿr   Úgatedr!   Úgelu_newÚtie_word_embeddingsT© )
r   r   r"   ÚsplitÚdense_act_fnÚis_gated_actÚpopr0   ÚsuperÚ__post_init__)ÚselfÚkwargsÚact_infoÚ	__class__s      €úv/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/transformers/models/umt5/configuration_umt5.pyr7   zUMT5Config.__post_init__@   sš   ø€ à'+×'>Ñ'>Ð'JˆD×#Ò#ÐPT×P_ÑP_ð 	Ôð ×)Ñ)×/Ñ/°Ó4ˆØ$ R™LˆÔØ$ Q™K¨7Ñ2ˆÔà×!Ñ! \Ò1Ø *ˆDÔà�
‰
Ð(¨$Ô/Ø#'ˆÔ ä‰ÑÑ' Ó'ó    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.r,   r&   r   r.   é   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"   r2   ÚlenÚ
ValueError)r8   r:   s     r<   Úvalidate_architecturez UMT5Config.validate_architectureP   sf   € à×)Ñ)×/Ñ/°Ó4ˆÜˆx‹=˜1Ò ¨!¡°Ò!7¼3¸x»=È1Ò;LÜØ'¨×(>Ñ(>Ð'?ð @)ð )óð ð <Mr=   )$Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
model_typeÚkeys_to_ignore_at_inferenceÚattribute_mapr   ÚintÚ__annotations__r   r   r   r   r   r   r   r   r   Úfloatr   r    r"   Ústrr#   Úboolr$   r%   r'   Úlistr(   r)   r*   r7   rB   Ú__classcell__)r;   s   @r<   r	   r	      s(  ø… ñð €JØ#4Ð"5Ðà Ø*Ø)Øñ	€Mð €J�ÓØ€GˆSÓØ€Dˆ#ƒNØ€Dˆ#ÓØ€J�ÓØ%)Ð˜˜d™
Ó)Ø€IˆsÓØ*,Ð" CÓ,Ø+.Ð# SÓ.Ø #€L�%˜#‘+Ó#Ø $Ð˜Ó$Ø #Ð˜Ó#Ø)Ð�sÓ)Ø#Ð˜Ó#Ø€IˆtÓØ €L�#˜‘*Ó Ø+,€L�#˜˜S™	‘/ DÑ(Ó,Ø)*Ð˜C $™JÓ*Ø&)Ð˜ ™Ó)Ø€J�Óô(ö r=   r	   N)	rF   Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úutilsr   r	   Ú__all__r1   r=   r<   ú<module>rU      sJ   ðñ å .å 3Ý #ñ Ð.Ô/Øô@Ð!ó @ó ó 0ð@ðF ˆ.�r=   