+
    œ°³j‹%  ã                   ó:  € ^ RI t ^ RIHt ^ RI Ht ^RIHt ^RIHtH	t	 ^RI
Ht ^RIHt ^RIHt ^R	IHt ^R
IHt ^RIHt ^RIHtHtHt ^RIHtHtHtHtHtH t H!t!H"t" RR/t#Rt$]PJ                  ! ]&4      t']! RR7      ] ! R R]4      4       4       t( ! R R]PR                  4      t* ! R R]PV                  4      t, ! R R]4      t- ! R R]"4      t. ! R R]4      t/ ! R R ]!4      t0 ! R! R"] 4      t1 ! R# R$]4      t2 ! R% R&]4      t3 ! R' R(]4      t4. R)Ot5R# )*é    N)Ústrict)Únn)Úinitialization)ÚCacheÚDynamicCache)ÚPreTrainedConfig)Úcreate_causal_mask)ÚBaseModelOutputWithPast)ÚRopeParameters)ÚPreTrainedModel)ÚUnpack)ÚTransformersKwargsÚauto_docstringÚlogging)ÚLlamaAttentionÚLlamaForCausalLMÚLlamaForSequenceClassificationÚLlamaForTokenClassificationÚLlamaMLPÚ
LlamaModelÚLlamaPreTrainedModelÚLlamaRotaryEmbeddingÚ
vocab_fileztokenizer.modelu   â–�zgoogle/gemma-7b)Ú
checkpointc                   óÔ   a € ] tR t^1t o RtRtR.tRRRRRRRR	R
RRRRR	/tRR.R.3RRR.R.3RR.R.3/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RtRtRtV 3R  ltR!tV tR# )"ÚGemmaConfigaÖ  
use_bidirectional_attention (`bool`, *optional*):
    If True, the model will attend to all text tokens instead of using a causal mask.

```python
>>> from transformers import GemmaModel, GemmaConfig
>>> # Initializing a Gemma gemma-7b style configuration
>>> configuration = GemmaConfig()
>>> # Initializing a model from the gemma-7b style configuration
>>> model = GemmaModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.config
```ÚgemmaÚpast_key_valueszlayers.*.self_attn.q_projÚcolwisezlayers.*.self_attn.k_projzlayers.*.self_attn.v_projzlayers.*.self_attn.o_projÚrowwisezlayers.*.mlp.gate_projzlayers.*.mlp.up_projzlayers.*.mlp.down_projÚembed_tokensÚ	input_idsÚinputs_embedsÚlayersÚhidden_statesÚattention_maskÚnormi è i   i `  é   Úgelu_pytorch_tanhi    g{®Gáz”?ç�íµ ÷Æ°>TNFg        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,          ;R&   S[ S[S[ ,          ,          R,          ;R&   S[ R,          ;R&   S[;R&   S[S[,          R,          ;R&   S[;R&   S[S[ ,          ;R&   S[R,          ;R&   # )é   Ú
vocab_sizeÚhidden_sizeÚintermediate_sizeÚnum_hidden_layersÚnum_attention_headsÚnum_key_value_headsÚhead_dimÚ
hidden_actÚmax_position_embeddingsÚinitializer_rangeÚrms_norm_epsÚ	use_cacheNÚpad_token_idÚeos_token_idÚbos_token_idÚtie_word_embeddingsÚrope_parametersÚattention_biasÚattention_dropoutÚuse_bidirectional_attention)ÚintÚstrÚfloatÚboolÚlistr   Údict)ÚformatÚ__classdict__s   "€Úh/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/gemma/modular_gemma.pyÚ__annotate__ÚGemmaConfig.__annotate__1   sX  ø‡ ‚ ñD ÑñE ñF ÑñG ñH Ñ"ñI ñJ ÑñK ñL Ñ!ñM ñN Ñ!ñO ñP ÑñQ ñR Ñ)ñS ñT !Ñ'ñU ñV Ñ#ñW ñX ÑñY ñZ Ññ[ ñ\ ˜•*Ñ ñ] ñ^ ™™S�	•/ DÕ(Ñ,ñ_ ñ` ˜•*Ñ ña ñb Ñ$ñc ñd $¡dÕ*¨TÕ1Ñ8ñe ñf Ñ ñg ñh ™s•{Ñ(ñi ñj "&¨¥Ñ3òk ó    © ) Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú
model_typeÚkeys_to_ignore_at_inferenceÚbase_model_tp_planÚbase_model_pp_planr-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©rH   s   @rI   r   r   1   sø   ø‡ € ñð €JØ#4Ð"5Ðà# YØ# YØ# YØ# YØ  )Ø 	Ø  )ðÐð 	˜+˜¨Ð(9Ð:Ø�OÐ%5Ð6¸Ð8IÐJØ�/Ð" _Ð$5Ð6ðÐð €JØ€KØ"ÐØÐØ!ÐØ!ÐØ€HØ)€JØ#'ÐØ#ÐØ€LØ€IØ €LØ+,€LØ €LØ $ÐØ48€OØ €NØ%(ÐØ/3Ð÷k ƒ rL   r   c                   ó^   a a€ ] tR t^it oRtRV3R lV 3R llltV3R lV 3R lltRtVtV ;t	# )ÚGemmaTextScaledWordEmbeddingzT
This module overrides nn.Embeddings' forward by multiplying with embeddings scale.
c                ó2   <€ V ^8„  d   QhRS[ RS[ RS[ RS[/# )r,   Únum_embeddingsÚembedding_dimÚpadding_idxÚembed_scale©rA   rC   )rG   rH   s   "€rI   rJ   Ú)GemmaTextScaledWordEmbedding.__annotate__n   s0   ø€ ÷ Rñ R¡sð R¹3ð RÉSð RÑ_dñ RrL   c                ó–   <€ \         SV `  WV4       W@n        \        P                  ! \
        P                  ! V4      R R7      V n        R# )F)Ú
persistentN)ÚsuperÚ__init__Úscalar_embed_scaler   ÚBufferÚtorchÚtensorra   )Úselfr^   r_   r`   ra   Ú	__class__s   &&&&&€rI   rg   Ú%GemmaTextScaledWordEmbedding.__init__n   s4   ø€ Ü‰Ñ˜¸ÔDØ"-ÔÜŸ9š9¤U§\¢\°+Ó%>È5ÔQˆÖrL   c                ó4   <€ V ^8„  d   QhRS[ P                  /# )r,   r"   )rj   ÚTensor)rG   rH   s   "€rI   rJ   rc   s   s   ø€ ÷ Sñ S¡§¡ñ SrL   c                óŠ   <€ \         SV `  V4      V P                  P                  V P                  P
                  4      ,          # ©N)rf   Úforwardra   ÚtoÚweightÚdtype)rl   r"   rm   s   &&€rI   rs   Ú$GemmaTextScaledWordEmbedding.forwards   s2   ø€ Ü‰w‰˜yÓ)¨D×,<Ñ,<×,?Ñ,?ÀÇÁ×@QÑ@QÓ,RÕRÐRrL   )ra   rh   ©g      ð?)
rN   rO   rP   rQ   rR   rg   rs   rX   rY   Ú__classcell__©rm   rH   s   @@rI   r\   r\   i   s(   ù‡ € ñ÷Rõ R÷
S÷ Só SrL   r\   c                   óT   a a€ ] tR t^wt oRV3R lV 3R llltR tR tR tRtVt	V ;t
# )ÚGemmaRMSNormc                ó&   <€ V ^8„  d   QhRS[ RS[/# )r,   ÚdimÚepsrb   )rG   rH   s   "€rI   rJ   ÚGemmaRMSNorm.__annotate__x   s   ø€ ÷ 5ñ 5™Cð 5¡eñ 5rL   c                óŽ   <€ \         SV `  4        W n        \        P                  ! \
        P                  ! V4      4      V n        R # rr   )rf   rg   r   r   Ú	Parameterrj   Úzerosru   )rl   r~   r   rm   s   &&&€rI   rg   ÚGemmaRMSNorm.__init__x   s,   ø€ Ü‰ÑÔØŒÜ—l’l¤5§;¢;¨sÓ#3Ó4ˆŽrL   c                óž   € V\         P                  ! VP                  ^4      P                  RRR7      V P                  ,           4      ,          # )r,   T)Úkeepdiméÿÿÿÿ)rj   ÚrsqrtÚpowÚmeanr   )rl   Úxs   &&rI   Ú_normÚGemmaRMSNorm._norm}   s4   € Ø”5—;’;˜qŸu™u Q›xŸ}™}¨R¸˜}Ó>ÀÇÁÕIÓJÕJÐJrL   c                ó²   € V P                  VP                  4       4      pVR V P                  P                  4       ,           ,          pVP                  V4      # rx   )rŒ   rC   ru   Útype_as)rl   r‹   Úoutputs   && rI   rs   ÚGemmaRMSNorm.forward€   sC   € Ø—‘˜AŸG™G›IÓ&ˆð ˜3 §¡×!2Ñ!2Ó!4Õ4Õ5ˆØ�~‰~˜aÓ Ð rL   c                ó^   € \        V P                  P                  4       R V P                   2# )z, eps=)Útupleru   Úshaper   )rl   s   &rI   Ú
extra_reprÚGemmaRMSNorm.extra_repr‡   s'   € Ü˜Ÿ™×)Ñ)Ó*Ð+¨6°$·(±(°Ð<Ð<rL   )r   ru   )r*   )rN   rO   rP   rQ   rg   rŒ   rs   r•   rX   rY   ry   rz   s   @@rI   r|   r|   w   s$   ù‡ € ÷5õ 5ò
Kò!÷=ò =rL   r|   c                   ó2   a a€ ] tR t^‹t oV 3R ltRtVtV ;t# )ÚGemmaMLPc                óR  <€ \         SV `  V4       \        P                  ! V P                  V P
                  R R7      V n        \        P                  ! V P                  V P
                  R R7      V n        \        P                  ! V P
                  V P                  R R7      V n        R# )F)ÚbiasN)	rf   rg   r   ÚLinearr.   r/   Ú	gate_projÚup_projÚ	down_proj©rl   Úconfigrm   s   &&€rI   rg   ÚGemmaMLP.__init__Œ   ss   ø€ Ü‰Ñ˜Ô ÜŸš 4×#3Ñ#3°T×5KÑ5KÐRWÔXˆŒÜ—y’y ×!1Ñ!1°4×3IÑ3IÐPUÔVˆŒÜŸš 4×#9Ñ#9¸4×;KÑ;KÐRWÔXˆŽrL   )rž   rœ   r�   )rN   rO   rP   rQ   rg   rX   rY   ry   rz   s   @@rI   r˜   r˜   ‹   s   ù‡ € ÷Yõ YrL   r˜   c                   ó   € ] tR t^“tRtR# )ÚGemmaRotaryEmbeddingrM   N©rN   rO   rP   rQ   rX   rM   rL   rI   r£   r£   “   ó   † ÛrL   r£   c                   óB   a a€ ] tR t^—t oRtV3R lV 3R lltRtVtV ;t# )ÚGemmaAttentionz=Multi-headed attention from 'Attention Is All You Need' paperc                ó&   <€ V ^8„  d   QhRS[ RS[/# )r,   r    Ú	layer_idx)r   rA   )rG   rH   s   "€rI   rJ   ÚGemmaAttention.__annotate__š   s   ø€ ÷ Sñ S™{ð S±sñ SrL   c                óR   <€ \         SV `  4        \        VR R4      '       * V n        R# )r@   FN)rf   rg   ÚgetattrÚ	is_causal)rl   r    r©   rm   s   &&&€rI   rg   ÚGemmaAttention.__init__š   s"   ø€ Ü‰ÑÔÜ$ VÐ-JÈEÓRÔRˆŽrL   )r­   )	rN   rO   rP   rQ   rR   rg   rX   rY   ry   rz   s   @@rI   r§   r§   —   s   ù‡ € ÙG÷S÷ Só SrL   r§   c                   óN   a € ] tR t^Ÿt o ]P
                  ! 4       R 4       tRtV tR# )ÚGemmaPreTrainedModelc                ó2  € \         P                  ! W4       R VP                  P                  9   d#   \        P
                  ! VP                  4       R# \        V\        4      '       d.   \        P                  ! VP                  VP                  4       R# R# )ÚRMSNormN)r   Ú_init_weightsrm   rN   ÚinitÚzeros_ru   Ú
isinstancer\   Ú	constant_ra   rh   )rl   Úmodules   &&rI   r³   Ú"GemmaPreTrainedModel._init_weights    sa   € ä×%Ò% dÔ3à˜×(Ñ(×1Ñ1Ô1Ü�KŠK˜Ÿ™Ö&Ü˜Ô <×=Ò=Ü�NŠN˜6×-Ñ-¨v×/HÑ/HÖIñ >rL   rM   N)	rN   rO   rP   rQ   rj   Úno_gradr³   rX   rY   rZ   s   @rI   r°   r°   Ÿ   s   ø‡ € Ø
‡]‚]ƒ_ñJó öJrL   r°   c                   óT   a a€ ] tR t^ªt oV3R lV 3R lltRV3R lR lltRtVtV ;t# )Ú
GemmaModelc                ó    <€ V ^8„  d   QhRS[ /# )r,   r    )r   )rG   rH   s   "€rI   rJ   ÚGemmaModel.__annotate__«   s   ø€ ÷ 
ñ 
™{ñ 
rL   c                óÀ   <€ \         SV `  V4       \        VP                  VP                  V P
                  V P                  P                  R ,          R7      V n        R# )g      à?)ra   N)rf   rg   r\   r-   r.   r`   r    r!   rŸ   s   &&€rI   rg   ÚGemmaModel.__init__«   sK   ø€ Ü‰Ñ˜Ô ä8Ø×Ñ˜v×1Ñ1°4×3CÑ3CÐQU×Q\ÑQ\×QhÑQhÐjmÕQmô
ˆÖrL   c                óþ   <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[R,          RS[ P                  R,          RS[R,          RS[S[,          R	S[/# )
r,   r"   Nr&   Úposition_idsr   r#   r8   ÚkwargsÚreturn)	rj   Ú
LongTensorrp   r   ÚFloatTensorrD   r   r   r
   )rG   rH   s   "€rI   rJ   r¾   ²   s“   ø€ ÷ 2
ñ 2
á×#Ñ# dÕ*ð2
ñ Ÿ™ tÕ+ð2
ñ ×&Ñ&¨Õ-ð	2
ñ
  �ð2
ñ ×(Ñ(¨4Õ/ð2
ñ ˜$•;ð2
ñ Ñ+Õ,ð2
ñ 
!ñ2
rL   c                ó¦  € VR J VR J,          '       d   \        R4      hVf   V P                  V4      pV'       d   Vf   \        V P                  R7      pVfb   Ve   VP	                  4       M^ p\
        P                  ! VP                  ^,          VP                  R7      V,           pVP                  ^ 4      p\        V P                  VVVVR7      p	Tp
V P                  W£R7      pV P                  R V P                  P                    F  pV! V
3RV	RVRVR	VR
V/VB p
K  	  V P                  V
4      p
\        T
V'       d   VR7      # R R7      # )Nz:You must specify exactly one of input_ids or inputs_embeds)r    )Údevice)r    r#   r&   r   rÂ   )rÂ   r&   rÂ   r   r8   Úposition_embeddings)Úlast_hidden_stater   )Ú
ValueErrorr!   r   r    Úget_seq_lengthrj   Úaranger”   rÈ   Ú	unsqueezer	   Ú
rotary_embr$   r0   r'   r
   )rl   r"   r&   rÂ   r   r#   r8   rÃ   Úpast_seen_tokensÚcausal_maskr%   rÉ   Údecoder_layers   &&&&&&&,     rI   rs   ÚGemmaModel.forward²   st  € ð ˜Ð -°tÐ";×<Ô<ÜÐYÓZÐZàÒ Ø ×-Ñ-¨iÓ8ˆMç˜Ò0Ü*°$·+±+Ô>ˆOàÒØCRÒC^˜×=Ñ=Ô?ÐdeÐÜ Ÿ<š<¨×(;Ñ(;¸AÕ(>À}×G[ÑG[Ô\Ð_oÕoˆLØ'×1Ñ1°!Ó4ˆLä(Ø—;‘;Ø'Ø)Ø+Ø%ô
ˆð &ˆØ"Ÿo™o¨m˜oÓWÐà!Ÿ[™[Ð)H¨4¯;©;×+HÑ+HÓIˆMÙ)Øñà*ðð *ðð !0ð	ð
 $ðð %8ðð ñŠMñ Jð Ÿ	™	 -Ó0ˆÜ&Ø+ß/8˜Oô
ð 	
à>Bô
ð 	
rL   )r!   )NNNNNN)	rN   rO   rP   rQ   rg   rs   rX   rY   ry   rz   s   @@rI   r¼   r¼   ª   s   ù‡ € ÷
ó 
÷2
÷ 2
ò 2
rL   r¼   c                   ó2   a a€ ] tR t^çt oV 3R ltRtVtV ;t# )ÚGemmaForCausalLMc                 ó8   <€ \        4       P                  ! R/ V B # )a  
Example:

```python
>>> from transformers import AutoTokenizer, GemmaForCausalLM

>>> model = GemmaForCausalLM.from_pretrained("google/gemma-7b")
>>> tokenizer = AutoTokenizer.from_pretrained("google/gemma-7b")

>>> prompt = "What is your favorite condiment?"
>>> inputs = tokenizer(prompt, return_tensors="pt")

>>> # Generate
>>> generate_ids = model.generate(inputs.input_ids, max_length=30)
>>> tokenizer.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]
"What is your favorite condiment?"
```rM   )rf   rs   )Úsuper_kwargsrm   s   ,€rI   rs   ÚGemmaForCausalLM.forwardè   s   ø€ ô$ ‹w�ŠÑ. Ñ.Ð.rL   rM   )rN   rO   rP   rQ   rs   rX   rY   ry   rz   s   @@rI   rÕ   rÕ   ç   s   ù‡ € ÷/õ /rL   rÕ   c                   ó   € ] tR t^ýtRtR# )ÚGemmaForSequenceClassificationrM   Nr¤   rM   rL   rI   rÚ   rÚ   ý   r¥   rL   rÚ   c                   ó   € ] tR tRtRtR# )ÚGemmaForTokenClassificationi  rM   Nr¤   rM   rL   rI   rÜ   rÜ     r¥   rL   rÜ   )r   r¼   rÕ   rÚ   rÜ   r°   )6rj   Úhuggingface_hub.dataclassesr   r   Ú r   r´   Úcache_utilsr   r   Úconfiguration_utilsr   Úmasking_utilsr	   Úmodeling_outputsr
   Úmodeling_rope_utilsr   Úmodeling_utilsr   Úprocessing_utilsr   Úutilsr   r   r   Úllama.modeling_llamar   r   r   r   r   r   r   r   ÚVOCAB_FILES_NAMESÚSPIECE_UNDERLINEÚ
get_loggerrN   Úloggerr   Ú	Embeddingr\   ÚModuler|   r˜   r£   r§   r°   r¼   rÕ   rÚ   rÜ   Ú__all__rM   rL   rI   Ú<module>rï      s!  ðó" Ý .Ý å &ß .Ý 3Ý /Ý 7Ý 1Ý -Ý &ß @Ñ @÷	÷ 	ó 	ð "Ð#4Ð5Ð àÐ à	×	Ò	˜HÓ	%€ñ Ð,Ô-Øô34Ð"ó 34ó ó .ð34ôlS 2§<¡<ô Sô=�2—9‘9ô =ô(Yˆxô Yô	Ð/ô 	ôS�^ô SôJÐ/ô Jô:
�ô :
ôz/Ð'ô /ô,	Ð%Cô 	ô	Ð"=ô 	ò‚rL   