+
    œ°³j=  ã                   ót   € R t ^ RI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Jamba model configurationN)Ústrict)ÚPreTrainedConfig)Úauto_docstringzai21labs/Jamba-v0.1)Ú
checkpointc                   ó  a a€ ] tR t^t oRtRtR.tRR/tRtRt	Rt
R	t^ t^ t^tR
tRtRtRtRtRt^ t^t^tRtRt^t^t^t^t^t^tRt ^t!^t"^t#Rt$Rt%Rt&Rt'Rt(V 3R lt)]*R 4       t+]*R 4       t,]*R 4       t-R t.V3R lt/Rt0Vt1V ;t2# )ÚJambaConfiga"  
expert_layer_period (`int`, *optional*, defaults to 2):
    Once in this many layers, we will have an expert layer
expert_layer_offset (`int`, *optional*, defaults to 1):
    The first layer index that contains an expert mlp layer
attn_layer_period (`int`, *optional*, defaults to 8):
    Once in this many layers, we will have a vanilla attention layer
attn_layer_offset (`int`, *optional*, defaults to 4):
    The first layer index that contains a vanilla attention mlp layer
use_mamba_kernels (`bool`, *optional*, defaults to `True`):
    Flag indicating whether or not to use the fast mamba kernels. These are available only if `mamba-ssm` and
    `causal-conv1d` are installed, and the mamba modules are running on a CUDA device. Raises ValueError if
    `True` and kernels are not available
mamba_dt_rank (`Union[int,str]`, *optional*, defaults to `"auto"`):
    Rank of the mamba discretization projection matrix. `"auto"` means that it will default to `math.ceil(self.hidden_size / 16)`
use_mambapy (`bool`, *optional*, defaults to `False`):
    Determines the fallback strategy during training if the CUDA-based official implementation of Mamba is not available. If `True`,
    the mamba.py implementation is used. If `False`, the naive and slower implementation is used. Consider switching to the naive
    version if memory is limited.
use_associative_scan (`bool`, *optional*, defaults to `True`):
    Whether to use PyTorch's `torch._higher_order_ops.associative_scan` for the parallel scan instead of the naive
    sequential implementation. The associative scan is only active during `torch.compile` tracing and
    requires torch >= 2.9.0. Both paths are tested to produce numerically identical results (see
    `test_associative_scan_matches_sequential`). Set to `False` to fall back to the sequential loop.
ÚjambaÚpast_key_valuesÚnum_local_expertsÚnum_expertsi   Fi   i 8  Úsilug{®Gáz”?g�íµ ÷Æ°>Tgü©ñÒMbP?i   g        Úautoc                óø   <€ V P                   f   V P                  V n         V P                  R8X  d(   \        P                  ! V P
                  ^,          4      MV P                  V n        \        SV `  ! R/ VB  R # )Nr   © )Únum_key_value_headsÚnum_attention_headsÚmamba_dt_rankÚmathÚceilÚhidden_sizeÚsuperÚ__post_init__)ÚselfÚkwargsÚ	__class__s   &,€Ún/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/jamba/configuration_jamba.pyr   ÚJambaConfig.__post_init__]   s`   ø€ Ø×#Ñ#Ò+Ø'+×'?Ñ'?ˆDÔ$àAE×ASÑASÐW]ÔA]œTŸYšY t×'7Ñ'7¸"Õ'<Ô=Ðcg×cuÑcuˆÔÜ‰ÒÑ' Ô'ó    c                óœ   € \        V P                  4       Uu. uF(  pWP                  ,          V P                  8X  d   R MRNK*  	  up# u upi )Ú	attentionÚmamba)ÚrangeÚnum_hidden_layersÚattn_layer_periodÚattn_layer_offset©r   Úis   & r   Úlayers_block_typeÚJambaConfig.layers_block_typed   sP   € ô ˜4×1Ñ1Ô2ó
á2�ð ×5Ñ5Õ5¸×9OÑ9OÔO‰KÐU\Ò\Ù2ñ
ð 	
ùò 
s   ˜.A	c                óT   € V P                    Uu. uF  qR 8X  d   RMRNK  	  up# u upi )r    Úlinear_attentionÚfull_attention)r'   )r   Úxs   & r   Úlayer_typesÚJambaConfig.layer_typesk   s1   € ð SW×RhÒRhÓiÑRhÈQ¨7¤lÑ"Ð8HÒHÑRhÑiÐiùÒis   �%c                ó°   € \        V P                  4       Uu. uF2  pWP                  ,          V P                  8X  d   V P                  M^NK4  	  up# u upi )é   )r!   r"   Úexpert_layer_periodÚexpert_layer_offsetr   r%   s   & r   Úlayers_num_expertsÚJambaConfig.layers_num_expertsp   sV   € ô ˜4×1Ñ1Ô2ó
á2�ð !"×$<Ñ$<Õ <À×@XÑ@XÔ XˆD×ÒÐ^_Ò_Ù2ñ
ð 	
ùò 
s   ˜8Ac                ó
  € V P                   V P                  8¼  d'   \        RV P                    RV P                   R24      hV P                  V P                  8¼  d'   \        RV P                   RV P                   R24      hR# )zOPart of `@strict`-powered validation. Validates the architecture of the config.zattention layer offset (z/) must be smaller than attention layer period (Ú)zexpert layer offset (z,) must be smaller than expert layer period (N)r$   r#   Ú
ValueErrorr2   r1   )r   s   &r   Úvalidate_architectureÚ!JambaConfig.validate_architecturew   s¸   € à×!Ñ! T×%;Ñ%;Ô;ÜØ*¨4×+AÑ+AÐ*BÐBqÐrv÷  sIñ  sIð  rJð  JKð  Lóð ð ×#Ñ# t×'?Ñ'?Ô?ÜØ'¨×(@Ñ(@Ð'AÐAmÐnr÷  oGñ  oGð  nHð  HIð  Jóð ñ @r   c                ó  <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[;R&   S[;R	&   S[;R
&   S[;R&   S[;R&   S[;R&   S[ R,          ;R&   S[ R,          ;R&   S[ S[S[ ,          ,          R,          ;R&   S[ ;R&   S[S[ ,          ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ S[,          ;R&   S[;R&   S[;R &   S[;R!&   S[;R"&   # )#é   Ú
vocab_sizeÚtie_word_embeddingsr   Úintermediate_sizer"   r   r   Ú
hidden_actÚinitializer_rangeÚrms_norm_epsÚ	use_cacheÚoutput_router_logitsÚrouter_aux_loss_coefNÚpad_token_idÚbos_token_idÚeos_token_idÚmax_position_embeddingsÚattention_dropoutÚnum_experts_per_tokr   r1   r2   r#   r$   Úuse_mamba_kernelsÚmamba_d_stateÚmamba_d_convÚmamba_expandr   Úmamba_conv_biasÚmamba_proj_biasÚuse_mambapyÚuse_associative_scan)ÚintÚboolÚstrÚfloatÚlist)ÚformatÚ__classdict__s   "€r   Ú__annotate__ÚJambaConfig.__annotate__   s  ø‡ ‚ ñF ÑñG ñH Ñ%ñI ñJ ÑñK ñL Ñ"ñM ñN ÑñO ñP Ñ!ñQ ñR Ñ ñS ñT ÑñU ñV Ñ#ñW ñX ÑñY ñZ Ññ[ ñ\ Ñ&ñ] ñ^  Ñ'ñ_ ñ` ˜•*Ñ ña ñb ˜•*Ñ ñc ñd ™™S�	•/ DÕ(Ñ,ñe ñf !Ñ)ñg ñh ™s•{Ñ(ñi ñj Ñ ñk ñl Ññm ñn Ñ ño ñp Ñ ñq ñr Ññs ñt Ññu ñv Ñ"ñw ñx Ññy ñz Ññ{ ñ| Ññ} ñ~ ™•9Ñ%ñ ñ@ Ñ ñA ñB Ñ!ñC ñD ÑñE ñF Ñ%òG r   )r   r   )3Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú
model_typeÚkeys_to_ignore_at_inferenceÚattribute_mapr<   r=   r   r>   r"   r   r   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   r   r1   r2   r#   r$   rK   rL   rM   rN   r   rO   rP   rQ   rR   r   Úpropertyr'   r-   r3   r8   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r   rY   s   @@r   r   r      s.  ù‡ € ñð4 €JØ#4Ð"5Ðà˜]ð€Mð €JØ %ÐØ€KØ"ÐØÐØ!ÐØ ÐØ€JØ#ÐØ€LØ€IØ!&ÐØ"'ÐØ €LØ €LØ+,€LØ#)ÐØ%(ÐØ ÐØ€KØ ÐØ ÐØÐØÐØ"ÐØ€MØ€LØ€LØ%€MØ €OØ!€OØ€KØ!%Ðõ(ð ñ
ó ð
ð ñjó ðjð ñ
ó ð
ò
÷ … r   r   )
r`   r   Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úutilsr   r   Ú__all__r   r   r   Ú<module>rm      sM   ðñ  ã å .å 3Ý #ñ Ð0Ô1ØôgÐ"ó gó ó 2ðgðT ˆ/‚r   