+
    œ°³j
(  ã                   óâ   € ^ RI Ht ^ RIHt ^RIHt ^RIHtHt ^RI	H
t
 ]P                  ! ]4      t]! RR7      ] ! R R	]4      4       4       t]! RR7      ] ! R
 R]4      4       4       tRR	.tR# )é    )ÚAny)Ústrict)ÚPreTrainedConfig)Úauto_docstringÚlogging)ÚSiglipVisionConfigzgoogle/gemma-3-4b-it)Ú
checkpointc                   ó2  a a€ ] tR t^!t oRtRtR.tRRRR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R#tR tR tR t R!t!R$R%R&R'/t"V 3R( lt#R) t$V3R* lV 3R+ llt%R, t&V3R- lt'R.t(Vt)V ;t*# )/ÚGemma3TextConfiga�  
query_pre_attn_scalar (`float`, *optional*, defaults to 256):
    scaling factor used on the attention scores
final_logit_softcapping (`float`, *optional*):
    Scaling factor when applying tanh softcapping on the logits.
attn_logit_softcapping (`float`, *optional*):
    Scaling factor when applying tanh softcapping on the attention scores.
use_bidirectional_attention (`bool`, *optional*, defaults to `False`):
    If True, the model will attend to all text tokens instead of using a causal mask. This does not change
    behavior for vision tokens.

```python
>>> from transformers import Gemma3TextModel, Gemma3TextConfig
>>> # Initializing a Gemma3Text gemma3_text-7b style configuration
>>> configuration = Gemma3TextConfig()
>>> # Initializing a model from the gemma3_text-7b style configuration
>>> model = Gemma3TextModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.config
```
Úgemma3_textÚpast_key_valueszlayers.*.self_attn.q_projÚcolwisezlayers.*.self_attn.k_projzlayers.*.self_attn.v_projzlayers.*.self_attn.q_normÚreplicated_with_grad_allreducezlayers.*.self_attn.k_normz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áz”?g�íµ ÷Æ°>TNFg        i   Úglobalg    €„.AÚlocalg     ˆÃ@c                óˆ  <€ V P                   '       d    V P                  ^,          ^,           V n        VP                  R^4      V n        V P                  fV   \        V P                  4       Uu. uF0  p\        V^,           V P                  ,          4      '       d   RMRNK2  	  upV n        \        SV `$  ! R/ VB  R# u upi )é   Úsliding_window_patternNÚsliding_attentionÚfull_attention© )
Úuse_bidirectional_attentionÚsliding_windowÚgetÚ_sliding_window_patternÚlayer_typesÚrangeÚnum_hidden_layersÚboolÚsuperÚ__post_init__)ÚselfÚkwargsÚiÚ	__class__s   &, €Úp/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/gemma3/configuration_gemma3.pyr,   ÚGemma3TextConfig.__post_init__h   s­   ø€ Ø×+×+Ð+Ø#'×#6Ñ#6¸!Õ#;¸qÕ"@ˆDÔð (.§z¡zÐ2JÈAÓ'NˆÔ$à×ÑÒ#ô ˜t×5Ñ5Ô6ó á6�Aô (,¨Q°­U°d×6RÑ6RÕ,R×'SÒ'SÑ#ÐYiÒiÙ6ñ ˆDÔô
 	‰ÒÑ' Ô'ùò s   Á/6B?c                ó–   € V P                   V P                  ,          ^ 8w  d'   \        RV P                    RV P                   R24      hR# )zOPart of `@strict`-powered validation. Validates the architecture of the config.zThe hidden size (z6) is not a multiple of the number of attention heads (z).N)Úhidden_sizeÚnum_attention_headsÚ
ValueError)r-   s   &r1   Úvalidate_architectureÚ&Gemma3TextConfig.validate_architecturew   sS   € à×Ñ˜d×6Ñ6Õ6¸!Ô;ÜØ# D×$4Ñ$4Ð#5ð 6Ø×2Ñ2Ð3°2ð7óð ñ <ó    c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# )r   Úreturn)ÚdictÚstrr   )ÚformatÚ__classdict__s   "€r1   Ú__annotate__ÚGemma3TextConfig.__annotate__   s   ø€ ÷ ñ ™™c¡3˜h�ñ r9   c                ó„   <€ \         SV `  4       p\        V R R4      '       d   V P                  ^,
          ^,          VR&   V# )r#   Fr$   )r+   Úto_dictÚgetattrr$   )r-   Úoutputr0   s   & €r1   rC   ÚGemma3TextConfig.to_dict   sA   ø€ Ü‘‘Ó"ˆô �4Ð6¸×>Ò>Ø(,×(;Ñ(;¸aÕ(?À1Õ'DˆFÐ#Ñ$Øˆr9   c                ó´  € VP                  R R4      pRRR/RRR//pV P                  e   V P                  MTV n        Ve#   V P                  R,          P                  V4       V P                  P                  R4      f   RR/V P                  R&   V P                  R,          P	                  RVP                  RV P
                  R,          4      4       V P                  P                  R4      f   RR/V P                  R&   V P                  R,          P	                  RVP                  RV P
                  R	,          4      4       V P                  4        V# )
Úrope_scalingNr    Ú	rope_typeÚdefaultr!   Ú
rope_thetar   Úrope_local_base_freqr   )ÚpopÚrope_parametersÚupdater%   Ú
setdefaultÚdefault_thetaÚstandardize_rope_params)r-   r.   rH   Údefault_rope_paramss   &,  r1   Úconvert_rope_params_to_dictÚ,Gemma3TextConfig.convert_rope_params_to_dictˆ   sM  € Ø—z‘z .°$Ó7ˆð
   +¨yÐ!9Ø˜{¨IÐ6ð
Ðð 8<×7KÑ7KÒ7W˜t×3Ò3Ð]pˆÔØÒ#Ø× Ñ Ð!1Õ2×9Ñ9¸,ÔGð ×Ñ×#Ñ#Ð$4Ó5Ò=Ø6AÀ9Ð5MˆD× Ñ Ð!1Ñ2Ø×ÑÐ-Õ.×9Ñ9Ø˜&Ÿ*™* \°4×3EÑ3EÀhÕ3OÓPô	
ð ×Ñ×#Ñ#Ð$7Ó8Ò@Ø9DÀiÐ8PˆD× Ñ Ð!4Ñ5Ø×ÑÐ0Õ1×<Ñ<Ø˜&Ÿ*™*Ð%;¸T×=OÑ=OÐPWÕ=XÓYô	
ð
 	×$Ñ$Ô&Øˆr9   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[R,          ;R&   S[;R&   S[ S[,          R,          ;R&   S[ ;R&   S[ R,          ;R&   S[S[,          R,          ;R&   S[R,          ;R&   S[R,          ;R&   S[R,          ;R&   # )r   Ú
vocab_sizer4   Úintermediate_sizer)   r5   Únum_key_value_headsÚhead_dimÚhidden_activationÚmax_position_embeddingsÚinitializer_rangeÚrms_norm_epsÚ	use_cacheNÚpad_token_idÚeos_token_idÚbos_token_idÚtie_word_embeddingsrN   Úattention_biasÚattention_dropoutÚquery_pre_attn_scalarr$   r'   Úfinal_logit_softcappingÚattn_logit_softcappingr#   )Úintr=   Úfloatr*   Úlistr<   )r>   r?   s   "€r1   r@   rA   !   s·  ø‡ ‚ ñX ÑñY ñZ Ññ[ ñ\ Ñ!ñ] ñ^ Ññ_ ñ` Ñ ña ñb Ñ ñc ñd Ññe ñf Ñ0ñg ñh !Ñ*ñi ñj Ñ#ñk ñl Ññm ñn Ñño ñp ˜•*Ñ ñq ñr ™™S�	•/ DÕ(Ñ,ñs ñt ˜•*Ñ ñu ñv Ñ$ñw ñx ˜D•[Ñ'ñy ñz Ñ ñ{ ñ| ™U•{ TÕ)Ñ/ñ} ñ~ Ñ$ñ ñ@ ˜$•JÑ%ñA ñB ‘c•˜TÕ!Ñ(ñC ñD # T�\Ñ0ñE ñF " D�LÑ/ñG ñH "&¨¥Ñ4òI r9   )r&   r'   rN   r$   )+Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú
model_typeÚkeys_to_ignore_at_inferenceÚbase_model_tp_planÚbase_model_pp_planrW   r4   rX   r)   r5   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rN   rd   re   rf   r$   r'   rg   rh   r#   rQ   r,   r7   rC   rT   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r0   r?   s   @@r1   r   r   !   sH  ù‡ € ñð, €JØ#4Ð"5Ðà# YØ# YØ# YØ#Ð%EØ#Ð%EØ# YØ  )Ø 	Ø  )ð
Ðð 	˜+˜¨Ð(9Ð:Ø�OÐ%5Ð6¸Ð8IÐJØ�/Ð" _Ð$5Ð6ðÐð €JØ€KØ!ÐØÐØ ÐØ ÐØ€HØ0ÐØ#*ÐØ#ÐØ€LØ€IØ €LØ+,€LØ €LØ $ÐØ#'€OØ €NØ,/ÐØ!$ÐØ!%€NØ$(€KØ,0ÐØ+/ÐØ/4ÐØ˜{¨G°XÐ>€Mõ(ò÷ó ò÷O … r9   r   c                   ó‚   a a€ ] tR t^¦t oRtRtRRRRRR/tR	]R
]/t	Rt
RtRtRtRtRtRtRtV 3R ltV3R ltRtVtV ;t# )ÚGemma3ConfigaÃ  
mm_tokens_per_image (`int`, *optional*, defaults to 256):
    The number of tokens per image embedding.
boi_token_index (`int`, *optional*, defaults to 255999):
    The begin-of-image token index to wrap the image prompt.
eoi_token_index (`int`, *optional*, defaults to 256000):
    The end-of-image token index to wrap the image prompt.

Example:

```python
>>> from transformers import Gemma3ForConditionalGeneration, Gemma3Config, SiglipVisionConfig, Gemma3TextConfig

>>> # Initializing a Siglip-like vision config
>>> vision_config = SiglipVisionConfig()

>>> # Initializing a Gemma3 Text config
>>> text_config = Gemma3TextConfig()

>>> # Initializing a Gemma3 gemma-3-4b style configuration
>>> configuration = Gemma3Config(vision_config, text_config)

>>> # Initializing a model from the gemma-3-4b style configuration
>>> model = Gemma3ForConditionalGeneration(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
```Úgemma3Úimage_token_idÚimage_token_indexÚboi_token_idÚboi_token_indexÚeoi_token_idÚeoi_token_indexÚtext_configÚvision_configNr   iÿç i è i   r   Tc                óÜ  <€ V P                   f&   \        4       V n         \        P                  R4       M:\	        V P                   \
        4      '       d   \        R/ V P                   B V n         \	        V P                  \
        4      '       d   \        R/ V P                  B V n        M2V P                  f%   \        4       V n        \        P                  R4       \        SV `$  ! R/ VB  R # )Nz@text_config is None, using default Gemma3TextConfig text config.zFvision_config is None, using default SiglipVisionConfig vision config.r"   )
rƒ   r   ÚloggerÚinfoÚ
isinstancer<   r„   r   r+   r,   )r-   r.   r0   s   &,€r1   r,   ÚGemma3Config.__post_init__Ú   s­   ø€ Ø×ÑÒ#Ü/Ó1ˆDÔÜ�K‰KÐZÕ[Ü˜×(Ñ(¬$×/Ò/Ü/ÑC°$×2BÑ2BÑCˆDÔä�d×(Ñ(¬$×/Ò/Ü!3Ñ!I°d×6HÑ6HÑ!IˆDÕØ×ÑÒ'Ü!3Ó!5ˆDÔÜ�K‰KÐ`Ôaä‰ÒÑ' Ô'r9   c                ó6  <€ V ^8„  d   Qh/ S[ S[S[S[3,          ,          R,          ;R&   S[S[S[S[3,          ,          R,          ;R&   S[R,          ;R&   S[R,          ;R&   S[R,          ;R&   S[R,          ;R&   S[R,          ;R&   S[R,          ;R	&   # )
r   Nrƒ   r„   Úmm_tokens_per_imager€   r‚   r~   r]   rc   )r   r<   r=   r   r   ri   rj   r*   )r>   r?   s   "€r1   r@   ÚGemma3Config.__annotate__¦   s¹   ø‡ ‚ ñV "¡D©©c¨¥NÕ2°TÕ9Ñ@ñW ñX &©©S±#¨X­Õ6¸Õ=ÑDñY ñZ ˜t�Ñ)ñ[ ñ\ ˜4•ZÑ)ñ] ñ^ ˜4•ZÑ)ñ_ ñ` ˜T•zÑ+ña ñb ˜t•|Ñ*ñc ñd  �Ñ+òe r9   )rƒ   r„   )rl   rm   rn   ro   rp   rq   Úattribute_mapr   r   Úsub_configsrƒ   r„   r‹   r€   r‚   r~   r]   rc   r,   ru   rv   rw   rx   ry   s   @@r1   r{   r{   ¦   s{   ù‡ € ñð: €JàÐ-ØÐ)ØÐ)ð€Mð 	Ð'ØÐ+ð€Kð
 =A€KØ@D€MØ&)ÐØ")€OØ")€OØ$+ÐØ&*ÐØ'+Ðõ(÷i … r9   r{   N)Útypingr   Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úutilsr   r   Úsiglipr   Ú
get_loggerrl   r†   r   r{   Ú__all__r"   r9   r1   Ú<module>r–      sŽ   ðõ* å .å 3ß ,Ý 'ð 
×	Ò	˜HÓ	%€ñ Ð1Ô2Øô@Ð'ó @ó ó 3ð@ñF Ð1Ô2Øô?(Ð#ó ?(ó ó 3ð?(ðD Ð-Ð
.‚r9   