ó
    qyüi¯  ã                   ód   • S r SSKJr  SSKJr  SSKJr  \" SS9\ " S S	\5      5       5       rS	/rg
)zLongT5 model configurationé    )Ústricté   )ÚPreTrainedConfig)Úauto_docstringzgoogle/long-t5-local-base)Ú
checkpointc                   ó¸  ^ • \ rS rSr% SrSrS/rSSSSS	.r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!'   S"r\\
S#'   S$r\\
S%'   S&r\\
S''   S$r\\
S('   S)r\	S-  \
S*'   S+r \	\!\	   -  S-  \
S,'   Sr"\	S-  \
S-'   S.r#\\
S/'   S$r$\\
S0'   U 4S1 jr%S2 r&S3r'U =r($ )4ÚLongT5Configé   aÙ  
d_ff (`int`, *optional*, defaults to 2048):
    Size of the intermediate feed forward layer in each `LongT5Block`.
local_radius (`int`, *optional*, defaults to 127):
    Number of tokens to the left/right for each token to locally self-attend in a local attention mechanism.
global_block_size (`int`, *optional*, defaults to 16):
    Length of blocks an input sequence is divided into for a global token representation. Used only for
    `encoder_attention_type = "transient-global"`.
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 (`string`, *optional*, defaults to `"relu"`):
    Type of feed forward layer to be used. Should be one of `"relu"` or `"gated-gelu"`. LongT5v1.1 uses the
    `"gated-gelu"` feed forward projection. Original LongT5 implementation uses `"gated-gelu"`.
encoder_attention_type (`string`, *optional*, defaults to `"local"`):
    Type of encoder attention to be used. Should be one of `"local"` or `"transient-global"`, which are
    supported by LongT5 implementation.
Úlongt5Ú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é   é   Úlocal_radiusé   Úglobal_block_sizeé    Úrelative_attention_num_bucketsé€   Úrelative_attention_max_distancegš™™™™™¹?Údropout_rateg�íµ ÷Æ°>Úlayer_norm_epsilong      ð?Úinitializer_factorÚreluÚfeed_forward_projTÚis_encoder_decoderÚlocalÚencoder_attention_typeÚ	use_cacher   Úpad_token_idé   Úeos_token_idÚbos_token_idFÚ
is_decoderÚtie_word_embeddingsc                 ó  >• U R                   b  U R                   OU R                  U l         U R                  R                  S5      nUS   U l        US   S:H  U l        U R                  S:X  a  SU l        [        TU ]  " S0 UD6  g )NÚ-éÿÿÿÿr   Úgatedz
gated-geluÚgelu_new© )r   r   r'   ÚsplitÚdense_act_fnÚis_gated_actÚsuperÚ__post_init__)ÚselfÚkwargsÚact_infoÚ	__class__s      €Úl/home/mande/repo/quber/.venv/lib/python3.13/site-packages/transformers/models/longt5/configuration_longt5.pyr<   ÚLongT5Config.__post_init__N   s~   ø€ Ø=A×=TÑ=TÑ=` $×"9Ò"9Ðfj×fuÑfuˆÔØ×)Ñ)×/Ñ/°Ó4ˆØ$ R™LˆÔØ$ Q™K¨7Ñ2ˆÔà×!Ñ! \Ó1Ø *ˆDÔä‰ÒÑ' Ó'ó    c                 óº   • U R                   R                  S5      n[        U5      S:”  a	  US   S:w  d  [        U5      S:”  a  [        SU R                    S35      eg)	zOPart of `@strict`-powered validation. Validates the architecture of the config.r3   r-   r   r5   é   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'   r8   ÚlenÚ
ValueError)r=   r?   s     rA   Úvalidate_architectureÚ"LongT5Config.validate_architectureY   sf   € à×)Ñ)×/Ñ/°Ó4ˆÜˆx‹=˜1Ó ¨!¡°Ó!7¼3¸x»=È1Ó;LÜØ'¨×(>Ñ(>Ð'?ð @)ð )óð ð <MrC   )r9   r:   r   ))Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú
model_typeÚkeys_to_ignore_at_inferenceÚattribute_mapr   ÚintÚ__annotations__r   r   r   r   r   r   r   r   r    r"   r#   Úfloatr$   r%   r'   Ústrr(   Úboolr*   r+   r,   r.   Úlistr/   r0   r1   r<   rH   Ú__static_attributes__Ú__classcell__)r@   s   @rA   r	   r	      sH  ø‡ ñð( €JØ#4Ð"5Ðà Ø*Ø)Øñ	€Mð €J�ÓØ€GˆSÓØ€Dˆ#ƒNØ€Dˆ#ÓØ€J�ÓØ%)Ð˜˜d™
Ó)Ø€IˆsÓØ€L�#ÓØÐ�sÓØ*,Ð" CÓ,Ø+.Ð# SÓ.Ø #€L�%˜#‘+Ó#Ø $Ð˜Ó$Ø #Ð˜Ó#Ø#Ð�sÓ#Ø#Ð˜Ó#Ø")Ð˜CÓ)Ø€IˆtÓØ €L�#˜‘*Ó Ø+,€L�#˜˜S™	‘/ DÑ(Ó,Ø#€L�#˜‘*Ó#Ø€J�ÓØ $Ð˜Ó$õ	(÷ð rC   r	   N)	rN   Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úutilsr   r	   Ú__all__r7   rC   rA   Ú<module>r^      sK   ðñ !å .å 3Ý #ñ Ð6Ñ7ØôIÐ#ó Ió ó 8ðIðX Ð
�rC   