+
    œ°³j  ã                   ól   € R t ^ RIHt ^RIHt ^RIHt ]! RR7      ] ! R R]4      4       4       tR.tR# )	z&Funnel Transformer model configuration)Ústrict)ÚPreTrainedConfig)Úauto_docstringzfunnel-transformer/small)Ú
checkpointc                   ó  a a€ ] tR t^t oRtRtRRRR/tRtRtRt	^t
R	t^t^@tR
tRtRtRtRtRtRtRtRtRtRtRtRtRtRtV 3R ltR t]R 4       t ] PB                  R 4       t ]R 4       t"]"PB                  R 4       t"V3R lt#Rt$Vt%V ;t&# )ÚFunnelConfigaÐ  
block_sizes (`list[int]`, *optional*, defaults to `[4, 4, 4]`):
    The sizes of the blocks used in the model.
block_repeats (`list[int]`, *optional*):
    If passed along, each layer of each block is repeated the number of times indicated.
num_decoder_layers (`int`, *optional*, defaults to 2):
    The number of layers in the decoder (when not using the base model).
pooling_type (`str`, *optional*, defaults to `"mean"`):
    Possible values are `"mean"` or `"max"`. The way pooling is performed at the beginning of each block.
attention_type (`str`, *optional*, defaults to `"relative_shift"`):
    Possible values are `"relative_shift"` or `"factorized"`. The former is faster on CPU/GPU while the latter
    is faster on TPU.
separate_cls (`bool`, *optional*, defaults to `True`):
    Whether or not to separate the cls token when applying pooling.
truncate_seq (`bool`, *optional*, defaults to `True`):
    When using `separate_cls`, whether or not to truncate the last token when pooling, to avoid getting a
    sequence length that is not a multiple of 2.
pool_q_only (`bool`, *optional*, defaults to `True`):
    Whether or not to apply the pooling only to the query or to query, key and values for the attention layers.
ÚfunnelÚhidden_sizeÚd_modelÚnum_attention_headsÚn_headi:w  Ni   i   Úgelu_newgš™™™™™¹?g        g•Ö&è.>ÚmeanÚrelative_shiftTc                ó    <€ V P                   f   ^.\        V P                  4      ,          MV P                   V n         \        SV `  ! R/ VB  R # )N© )Úblock_repeatsÚlenÚblock_sizesÚsuperÚ__post_init__)ÚselfÚkwargsÚ	__class__s   &,€Úp/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/funnel/configuration_funnel.pyr   ÚFunnelConfig.__post_init__K   sA   ø€ Ø<@×<NÑ<NÒ<V˜a˜S¤3 t×'7Ñ'7Ó#8Ö8Ð\`×\nÑ\nˆÔÜ‰ÒÑ' Ô'ó    c                ó  € \        V P                  4      \        V P                  4      8w  d   \        R4      hV P                  R9  d   \        RV P                   R24      hV P
                  R9  d   \        RV P
                   R24      hR# )zOPart of `@strict`-powered validation. Validates the architecture of the config.z>`block_sizes` and `block_repeats` should have the same length.zGot z< for `pooling_type` but only 'mean' and 'max' are supported.zO for `attention_type` but only 'relative_shift' and 'factorized' are supported.N)r   Úmax)r   Ú
factorized)r   r   r   Ú
ValueErrorÚpooling_typeÚattention_type©r   s   &r   Úvalidate_architectureÚ"FunnelConfig.validate_architectureO   s˜   € äˆt×ÑÓ ¤C¨×(:Ñ(:Ó$;Ô;ÜÐ]Ó^Ð^Ø×Ñð %
ô 
ô ˜t D×$5Ñ$5Ð#6Ð6rÐsÓtÐtØ×Ñð '
ô 
ô Ø�t×*Ñ*Ð+Ð+zÐ{óð ñ	
r   c                ó,   € \        V P                  4      # ©N)Úsumr   r#   s   &r   Únum_hidden_layersÚFunnelConfig.num_hidden_layers`   ó   € ä�4×#Ñ#Ó$Ð$r   c                ó   € \        R 4      h)zYThis model does not support the setting of `num_hidden_layers`. Please set `block_sizes`.©ÚNotImplementedError©r   Úvalues   &&r   r)   r*   d   s   € ä!Øgó
ð 	
r   c                ó,   € \        V P                  4      # r'   )r   r   r#   s   &r   Ú
num_blocksÚFunnelConfig.num_blocksj   r+   r   c                ó   € \        R 4      h)zRThis model does not support the setting of `num_blocks`. Please set `block_sizes`.r-   r/   s   &&r   r2   r3   n   s   € ä!Ð"vÓwÐwr   c                óÀ  <€ V ^8„  d   Qh/ S[ ;R&   S[S[ ,          S[S[ R3,          ,          ;R&   S[S[ ,          R,          ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R	&   S[ ;R
&   S[;R&   S[S[ ,          ;R&   S[S[ ,          ;R&   S[S[ ,          ;R&   S[;R&   S[R,          ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[ R,          ;R&   S[;R&   # )é   Ú
vocab_size.r   Nr   Únum_decoder_layersr
   r   Úd_headÚd_innerÚ
hidden_actÚhidden_dropoutÚattention_dropoutÚactivation_dropoutÚinitializer_rangeÚinitializer_stdÚlayer_norm_epsr!   r"   Úseparate_clsÚtruncate_seqÚpool_q_onlyÚpad_token_idÚtie_word_embeddings)ÚintÚlistÚtupleÚstrÚfloatÚbool)ÚformatÚ__classdict__s   "€r   Ú__annotate__ÚFunnelConfig.__annotate__   sy  ø‡ ‚ ñ< Ññ= ñ> ‘c•™U¡3¨ 8�_Õ,Ñ8ñ? ñ@ ™•9˜tÕ#Ñ*ñA ñB ÑñC ñD ÑñE ñF ÑñG ñH ÑñI ñJ ÑñK ñL Ñ ñM ñN ™C•KÑ%ñO ñP ™s•{Ñ(ñQ ñR ¡�Ñ)ñS ñT Ñ"ñU ñV ˜T•\Ñ(ñW ñX Ñ ñY ñZ Ññ[ ñ\ Ñ*ñ] ñ^ Ññ_ ñ` Ñña ñb Ññc ñd ˜•*Ñ#ñe ñf Ñ$òg r   )r   )é   rQ   rQ   )'Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú
model_typeÚattribute_mapr7   r   r   r8   r
   r   r9   r:   r;   r<   r=   r>   r?   r@   rA   r!   r"   rB   rC   rD   rE   rF   r   r$   Úpropertyr)   Úsetterr2   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r   rN   s   @@r   r   r      s  ù‡ € ñð* €Jà�yØ˜xð€Mð
 €JØ/8€KØ&*€MØÐØ€GØ€FØ€FØ€GØ €JØ"%€NØ%(ÐØ&)ÐØ"ÐØ$(€OØ €NØ€LØ*€NØ€LØ€LØ€KØ#€LØ $Ðõ(òð" ñ%ó ð%ð ×Ññ
ó ð
ð
 ñ%ó ð%ð ×Ññxó ðx÷s … r   r   N)	rV   Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úutilsr   r   Ú__all__r   r   r   Ú<module>rc      sN   ðñ -å .å 3Ý #ñ Ð5Ô6ØôXxÐ#ó Xxó ó 7ðXxðv Ð
‚r   