+
    UV-jŠ  ã                   ó¶   € ^ RI HtHt ^ RIHtHtHt ^RIHt ] ! R R]4      4       t	] ! R R]4      4       t
] ! R R	]4      4       t] ! R
 R]4      4       tR# )é    )Ú	dataclassÚfield)ÚDictÚListÚOptional)ÚBaseModelConfigc                   ól   a € ] tR t^t o Rt^t^tRtRt^t	Rt
^t^t^ tRtRtRtRtRtRtV 3R	 ltR
tV tR# )ÚAudioConfigi   Úsilug      à?g      I@Tç�íµ ÷Æ°>g    _ Bé   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&   S[;R&   S[S[ ,          ;R&   # )é   Úhidden_sizeÚnum_hidden_layersÚnum_attention_headsÚ
hidden_actÚsubsampling_conv_channelsÚconv_kernel_sizeÚresidual_weightÚattention_chunk_sizeÚattention_context_leftÚattention_context_rightÚattention_logit_capÚattention_invalid_logits_valueÚuse_clipped_linearsÚrms_norm_epsÚgradient_clippingÚoutput_proj_dims)ÚintÚstrÚtupleÚfloatÚboolr   )ÚformatÚ__classdict__s   "€Úm/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_vlm/models/gemma4/config.pyÚ__annotate__ÚAudioConfig.__annotate__   s×   ø‡ ‚ áÑñ ñ Ññ ñ Ñ ñ	 ñ
 Ññ ñ  %Ñ0ñ ñ Ññ ñ Ñ ñ ñ Ñ"ñ ñ  Ñ$ñ ñ !Ñ$ñ ñ Ñ%ñ ñ %*Ñ0ñ ñ Ñ$ñ ñ Ññ ñ  Ñ,ñ! ñ" ™s•mÑ*ò# ó    © N)é€   é    g    eÍÍÁ)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r&   s   @r'   r
   r
      sh   ø‡ € à€KØÐØ ÐØ€JØ'0ÐØÐØ €OØ "ÐØ"$ÐØ#$ÐØ!%ÐØ,0Ð"Ø $ÐØ€LØ,ÐØ&*Ð÷# ƒ r*   r
   c                   óŠ   a € ] tR t^t o RtRtRt^t^t^t	^@t
^@tRtRtRtRtRtR	tR
tR
tRt^tRt^tRtRtR tV 3R ltRtV tR
# )ÚVisionConfigÚgemma4_visioni   i   Úgelu_pytorch_tanhr   é   Fç        ÚvisionNé  i (  c                óŠ   € V P                   f   R.V P                  ,          V n         V P                  f   RRRR/V n        R # R # )NÚfull_attentionÚ
rope_thetag      Y@Ú	rope_typeÚdefault)Úlayer_typesr   Úrope_parameters)Úselfs   &r'   Ú__post_init__ÚVisionConfig.__post_init__4   sF   € Ø×ÑÒ#Ø 0Ð1°D×4JÑ4JÕJˆDÔØ×ÑÒ'Ø$0°%¸ÀiÐ#PˆDÖ ñ (r*   c                óR  <€ 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&   S[S[S[ ,          ,          ;R&   S[S[,          ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   # )r   Ú
model_typer   Úintermediate_sizer   r   Únum_key_value_headsÚhead_dimÚglobal_head_dimÚhidden_activationr   Úmax_position_embeddingsÚattention_biasÚattention_dropoutÚuse_bidirectional_attentionrC   rD   Údefault_output_lengthÚ
patch_sizeÚposition_embedding_sizeÚpooling_kernel_sizer   Ústandardize)r!   r    r#   r$   r   r   r   )r%   r&   s   "€r'   r(   ÚVisionConfig.__annotate__   s.  ø‡ ‚ áÑ%ñ ñ Ññ ñ Ñ!ñ	 ñ
 Ññ ñ Ñ!ñ ñ Ñ!ñ ñ Ññ ñ Ññ ñ Ñ0ñ ñ Ññ ñ !Ñ)ñ ñ Ñ ñ ñ Ñ"ñ ñ "%Ñ/ñ ñ  ™$™s�)Õ$Ñ+ñ! ñ" ™d•^Ñ*ñ# ñ$ Ñ$ñ% ñ& Ññ' ñ( !Ñ(ñ) ñ* Ñ ñ+ ñ, Ñ%ñ- ñ. Ñò/ r*   ©rC   rD   )r.   r/   r0   r1   rI   r   rJ   r   r   rK   rL   rM   rN   r   rO   rP   rQ   rR   rC   rD   rS   rT   rU   rV   r   rW   rF   r2   r3   r4   r5   s   @r'   r7   r7      sŒ   ø‡ € à%€JØ€KØ!ÐØÐØ!ÐØ!ÐØ€HØ€OØ0ÐØ€LØ#)ÐØ €NØ"ÐØ'/ÐØ'+€KØ&*€OØ!$ÐØ€JØ#(ÐØ ÐØ %ÐØ€KòQ÷3 ƒ r*   r7   c                   óÆ   a € ] tR t^;t o RtRt^#tRt^tRt	Rt
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^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+V t,R	# )Ú
TextConfigÚgemma4_textr   i   é   i   g      Ð?r   é   Nr9   Fç      ð?r:   r;   g      >@Tc           	     ó,  € V P                   f   RRRRRRR/RRRRR	RR
//V n         V P                  fa   R.V P                  ^,
          ,          R.,           pWP                  \	        V4      ,          ^,           ,          R V P                   V n        R # R # )Nr?   Úpartial_rotary_factorr_   r@   g    €„.ArA   ÚproportionalÚsliding_attentiong     ˆÃ@rB   )rD   rC   Úsliding_window_patternr   Úlen)rE   Úpatterns   & r'   rF   ÚTextConfig.__post_init__c   s³   € Ø×ÑÒ'à Ø+¨SØ  )Ø ð#ð
 $Ø+¨SØ  'Ø ð&ð$ˆDÔ ð ×ÑÒ#Ø*Ð+¨t×/JÑ/JÈQÕ/NÕOØ ðSõ ˆGð !(×+AÑ+AÄSÈÃ\Õ+QÐTUÕ+UÕ VØ(�$×(Ñ(ð ˆDÖñ	 $r*   c                óV  <€ 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[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&   S[;R&   S[;R&   S[;R&   S[S[ ,          ;R&   S[;R&   S[;R&   S[;R&   S[;R &   S[S[,          ;R!&   S[S[,          ;R"&   S[S[,          ;R#&   S[S[S[ ,          ,          ;R$&   S[;R%&   # )&r   rI   r   r   rJ   r   rL   rM   Úglobal_partial_rotary_factorr   Ú
vocab_sizeÚvocab_size_per_layer_inputrK   Únum_global_key_value_headsÚnum_kv_shared_layersÚpad_token_idrN   Úhidden_size_per_layer_inputÚrope_traditionalra   rD   Úsliding_windowrd   Ú_sliding_window_patternrO   rP   rQ   Úattention_k_eq_vrR   Úfinal_logit_softcappingÚuse_double_wide_mlpÚenable_moe_blockÚuse_second_mlp_blockÚnum_expertsÚtop_k_expertsÚmoe_intermediate_sizerC   Útie_word_embeddings)r!   r    r#   r   r$   r   r   )r%   r&   s   "€r'   r(   ÚTextConfig.__annotate__;   s  ø‡ ‚ áÑ#ñ ñ Ññ ñ Ññ	 ñ
 Ñ!ñ ñ Ñ ñ ñ Ññ ñ Ññ ñ #(Ñ.ñ ñ Ññ ñ Ññ ñ !$Ñ,ñ ñ Ñ ñ ñ !)©¥Ñ4ñ ñ Ñ"ñ ñ  Ññ! ñ" Ñ0ñ# ñ$ "%Ñ*ñ% ñ& Ñ"ñ' ñ( !Ñ&ñ) ñ* ™d•^Ñ*ñ+ ñ, Ññ- ñ.  Ñ#ñ/ ñ0 !Ñ$ñ1 ñ2 !Ñ)ñ3 ñ4 Ñ ñ5 ñ6 Ñ"ñ7 ñ8 Ñ"ñ9 ñ: "*©#¥Ñ5ñ; ñ< #Ñ)ñ= ñ> Ñ$ñ? ñ@ Ñ"ñA ñB Ñ&ñC ñD ™#•Ñ%ñE ñF ™C•=Ñ'ñG ñH $¡C�=Ñ/ñI ñJ ™$™s�)Õ$Ñ+ñK ñL Ñ$òM r*   rY   )-r.   r/   r0   r1   rI   r   r   rJ   r   rL   rM   ri   r   rj   rk   rK   rl   rm   rn   rN   ro   rp   ra   rD   rq   rd   rr   rO   rP   rQ   rs   rR   rt   ru   rv   rw   rx   ry   rz   rC   r{   rF   r2   r3   r4   r5   s   @r'   r[   r[   ;   sã   ø‡ € à#€JØ€KØÐØ!ÐØ ÐØ€HØ€OØ*.Ð Ø€LØ€JØ&,ÐØ ÐØ04ÐØ "ÐØ€LØ0ÐØ'*ÐØ"ÐØ#&ÐØ&*€OØ€NØ"#ÐØ#$ÐØ#)ÐØ €NØ"ÐØ"ÐØ15ÐØ%)ÐØ $ÐØ"ÐØ!&ÐØ!%€KØ#'€MØ+/ÐØ'+€KØ $Ðò÷Q ƒ r*   r[   c                   ó    a € ] tR t^zt o ]! ]R7      t]! ]R7      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^ tRt^FtRt^(tRtRtRtV 3R ltRtV tR# )ÚModelConfig)Údefault_factoryNÚgemma4r^   i@ó iAó iÿç iBó i è iCó r   r=   iî  Tg{®Gáz”?c                ób  <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[S[,          ;R&   S[;R&   S[;R&   S[;R&   S[;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[S[,          ,          ;R&   S[;R&   S[;R&   # )r   Útext_configÚvision_configÚaudio_configrI   rj   Úignore_indexÚimage_token_idÚaudio_token_idÚvideo_token_idÚboi_token_idÚeoi_token_idÚboa_token_idÚeoa_token_idr   rn   Úvision_soft_tokens_per_imageÚ"vision_soft_tokens_per_video_frameÚaudio_soft_tokens_per_imageÚaudio_ms_per_tokenÚeos_token_idr{   Úinitializer_range)	r[   r7   r   r
   r!   r    r   r$   r#   )r%   r&   s   "€r'   r(   ÚModelConfig.__annotate__z   s3  ø‡ ‚ áÑ?ñ ñ  ÑEñ ñ ™;Õ'Ñ.ñ	 ñ
 Ññ ñ Ññ ñ Ññ ñ Ñ ñ ñ Ñ ñ ñ ™S•MÑ(ñ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ  Ññ! ñ" #&Ñ+ñ# ñ$ ),Ñ0ñ% ñ& "%Ñ*ñ' ñ( Ñ ñ) ñ* ™4¡�9Õ%Ñ,ñ+ ñ, Ñ$ñ- ñ. Ñ#ò/ r*   r+   iœÿÿÿ) r.   r/   r0   r1   r   r[   r‚   r7   rƒ   r„   rI   rj   r…   r†   r‡   rˆ   r‰   rŠ   r‹   rŒ   r   rn   r�   rŽ   r�   r�   r‘   r{   r’   r2   r3   r4   r5   s   @r'   r~   r~   z   sŠ   ø‡ € á#°JÔ?€KÙ"'¸Ô"E€MØ*.€LØ€JØ€JØ€LØ €NØ €NØ$(€NØ€LØ€LØ€LØ€LØ€KØ€LØ(+Ð Ø.0Ð&Ø'*ÐØ ÐØ(,€LØ $ÐØ#Ð÷/ ƒ r*   r~   N)Údataclassesr   r   Útypingr   r   r   Úbaser   r
   r7   r[   r~   r+   r*   r'   Ú<module>r—      s�   ðß (ß 'Ñ 'å "ð ô+�/ó +ó ð+ð& ôQ�?ó Qó ðQð> ô;�ó ;ó ð;ð| ô$�/ó $ó ò$r*   