+
    UV-jÌ  ã                   óÖ   € R t ^ RIHtHt ^ RI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 R]4      4       tR# )zRF-DETR configuration.)Ú	dataclassÚfield)ÚListÚOptional)ÚBaseModelConfigc                   óp   a € ] tR t^	t o RtRt^t^tRt^t	^t
RtRtRtRt]! R R	7      tRtV 3R
 ltRtV tR# )ÚDINOv2ConfigÚrfdetr_dinov2é€  é   i  Ng�íµ ÷Æ°>Tc                 ó
   € . RO# ©é   )r   é   é   é   © r   ó    Úm/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_vlm/models/rfdetr/config.pyÚ<lambda>ÚDINOv2Config.<lambda>   ó   € Ã=r   ©Údefault_factoryc                óö   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[S[,          ;R	&   S[;R
&   S[;R&   S[S[,          ;R&   S[S[S[,          ,          ;R&   # )r   Ú
model_typeÚhidden_sizeÚnum_hidden_layersÚnum_attention_headsÚintermediate_sizeÚ
patch_sizeÚnum_channelsÚ
image_sizeÚpositional_encoding_sizeÚlayer_norm_epsÚqkv_biasÚout_feature_indexesÚwindow_block_indexes)ÚstrÚintr   ÚfloatÚboolr   )ÚformatÚ__classdict__s   "€r   Ú__annotate__ÚDINOv2Config.__annotate__	   s¿   ø‡ ‚ áÑ%ñ ñ Ññ ñ Ññ	 ñ
 Ñ ñ ñ Ñ!ñ ñ Ññ ñ Ññ ñ Ññ ñ '¡s�mñ ñ ñ Ñ ñ ñ Ññ ñ ™c�ÑQñ ñ  #¡4©¥9Õ-Ñ4ò! r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r   r   r   r    r!   r"   r#   r$   r%   r   r&   r'   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r-   s   @r   r   r   	   s]   ø‡ € à%€JØ€KØÐØ ÐØ!ÐØ€JØ€LØ€Jàð ð !€NØ€HÙ%*Ñ;PÔ%QÐØ04Ð÷! ƒ r   r   c                   ó<   a € ] tR t^t o RtRt^t^€tV 3R ltRt	V t
R# )ÚProjectorConfigÚrfdetr_projectoré   c                óJ   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[;R&   S[;R&   # )r   r   Ú
hidden_dimÚnum_bottlenecksÚbottleneck_channels©r(   r)   )r,   r-   s   "€r   r.   ÚProjectorConfig.__annotate__   s7   ø‡ ‚ áÑ(ñ ñ Ññ ñ Ññ	 ñ
 Ñ"ò r   r   N)r0   r1   r2   r3   r   r=   r>   r?   r4   r5   r6   r7   s   @r   r9   r9      s!   ø‡ € à(€JØ€JØ€OØ"Ð÷ ƒ r   r9   c                   óh   a € ] tR t^$t o RtRt^t^t^tRt	^t
^tRt^t^[tRtRtRtRtV 3R ltRtV tR	# )
ÚTransformerConfigÚrfdetr_transformerr;   i   é,  Tgñhãˆµøä>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&   # )r   r   r=   Ú
dec_layersÚ	sa_nheadsÚ	ca_nheadsÚdim_feedforwardÚdec_n_pointsÚn_levelsÚnum_queriesÚ
group_detrÚnum_classesÚ	two_stageÚbbox_reparamÚlite_refpoint_refiner$   )r(   r)   r+   r*   )r,   r-   s   "€r   r.   ÚTransformerConfig.__annotate__$   sÆ   ø‡ ‚ áÑ*ñ ñ Ññ ñ Ññ	 ñ
 Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ñ%ñ ñ  Ñ ò! r   r   N)r0   r1   r2   r3   r   r=   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   r$   r4   r5   r6   r7   s   @r   rC   rC   $   sX   ø‡ € à*€JØ€JØ€JØ€IØ€IØ€OØ€LØ€HØ€KØ€JØ€KØ€IØ€LØ!%ÐØ €N÷! ƒ r   rC   c                   ó@   a € ] tR t^7t o RtRt^t^t^tV 3R lt	Rt
V tR# )ÚSegmentationConfigÚrfdetr_segmentationr;   c                óV   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[;R&   S[;R&   S[;R&   # )r   r   Úin_dimÚ
num_blocksÚbottleneck_ratioÚdownsample_ratior@   )r,   r-   s   "€r   r.   ÚSegmentationConfig.__annotate__7   sD   ø‡ ‚ áÑ+ñ ñ Ññ ñ Ññ	 ñ
 Ññ ñ Ñò r   r   N)r0   r1   r2   r3   r   rX   rY   rZ   r[   r4   r5   r6   r7   s   @r   rU   rU   7   s'   ø‡ € à+€JØ€FØ€JØÐØÐ÷ ƒ r   rU   c                   ó¶   a € ] tR t^@t o RtRtRt^ZtRt^t	^t
^t^t^tRtRtRtRtRt^t^t]! R R7      t]! R	 R7      tR
tRt^tR
tR
tR
tR tV 3R ltRt V t!R
# )ÚModelConfigzrf-detri0  r;   rE   TÚdinov2_windowed_smallc                 ó   € R .# )ÚP4r   r   r   r   r   ÚModelConfig.<lambda>S   s   € À¹vr   r   c                 ó
   € . RO# r   r   r   r   r   r   rb   T   r   r   NFc                óú  a€ R RRR^RR/RRRR^RR/R	RR
R^RR//pVP                  V P                  VR ,          4      p^o\        V P                  4      p\        ;QJ d    V3R lV 4       F  '       g   K   RM	  RM! V3R lV 4       4      p\        4       pV F5  pV'       g   TMTp^ Tu;8:  d
   S8  g   K   M K$  VP                  V4       K7  	  \        S4       Uu. uF  qˆV9  g   K  VNK  	  p	pV'       d   V Uu. uF  qf^,
          NK  	  upV n        V P                  f8   \        RRV P                  RV P                  RV P                  RV	/VB V n        MD\        V P                  \        4      '       d%   \        P                  V P                  4      V n        \        V P                  4      p
VR,          V
,          p\!        V P"                  R7      V n        W°P$                  n        V P(                  f’   \+        V P"                  V P,                  V P.                  V P0                  V P2                  V P4                  V P6                  V P8                  ^,           V P:                  V P<                  V P>                  R7      V n        MD\        V P(                  \        4      '       d%   \*        P                  V P(                  4      V n        V P@                  f:   V PB                  '       d(   \E        V P"                  V PF                  R7      V n         MD\        V P@                  \        4      '       d%   \D        P                  V P@                  4      V n         RV n$        RV n%        R# u upi u upi )r_   r   r
   r   r   r   Údinov2_windowed_basei   i   Údinov2_windowed_largei   i   c              3   ó,   <"  € T F	  qS8¬  x € K  	  R # 5i)Nr   )Ú.0ÚidxÚ
num_layerss   & €r   Ú	<genexpr>Ú,ModelConfig.__post_init__.<locals>.<genexpr>z   s   øé € ÐE¹°# :Ö-»ùs   ƒTFNr&   r    r#   r'   )r=   )r=   rG   rH   rI   rK   rM   rN   rO   rP   rQ   rR   )rX   rY   r   )&ÚgetÚencoderÚlistr&   ÚanyÚsetÚaddÚrangeÚbackbone_configr   r    r#   Ú
isinstanceÚdictÚ	from_dictÚlenr9   r=   Ú_projector_configÚin_channelsÚtransformer_configrC   rG   rH   rI   rK   rM   rN   rO   rP   rQ   rR   Úsegmentation_configÚsegmentationrU   Úseg_num_blocksÚtext_configÚvision_config)ÚselfÚdinov2_sizesÚencoder_paramsÚraw_indexesÚis_hf_indexedÚglobal_layersri   Ú	layer_idxÚir'   Ú
n_featuresrz   rj   s   &           @r   Ú__post_init__ÚModelConfig.__post_init__^   s  ø€ ð $Ø˜sØ% qØ# Tð&ð
 #Ø˜sØ% rØ# Tð%ð
 $Ø˜tØ% rØ# Tð&ð
ˆð" &×)Ñ)Ø�L‰L˜,Ð'>Õ?ó
ˆð ˆ
Ü˜4×3Ñ3Ó4ˆß›ÔE¹ÓEŸŸšÔE¹ÓEÓEˆô ›ˆÛˆCß#0™°cˆIØ�IÖ* 
×*Ò*Ø×!Ñ! )Ö,ñ ô ,1°Ô+<ÓWÑ+< aÈÑ@V§ Ñ+<ÐÐW÷ Ù;FÓ'G¹;°C¨a¯¨¹;Ñ'GˆDÔ$à×ÑÒ'Ü#/ñ $Ø$(×$<Ñ$<ð$àŸ?™?ð$ð *.×)FÑ)Fð$ð &:ð	$ð
 !ñ$ˆDÕ ô ˜×,Ñ,¬d×3Ò3Ü#/×#9Ñ#9¸$×:NÑ:NÓ#OˆDÔ ô ˜×1Ñ1Ó2ˆ
Ø$ ]Õ3°jÕ@ˆÜ!0¸D¿O¹OÔ!LˆÔØ-8×ÑÔ*à×"Ñ"Ò*Ü&7ØŸ?™?ØŸ?™?ØŸ.™.ØŸ.™.Ø!×.Ñ.Ø ×,Ñ,ØŸ?™?Ø ×,Ñ,¨qÕ0ØŸ.™.Ø!×.Ñ.Ø%)×%>Ñ%>ô'ˆDÕ#ô ˜×/Ñ/´×6Ò6Ü&7×&AÑ&AØ×'Ñ'ó'ˆDÔ#ð
 ×#Ñ#Ò+°×0A×0AÐ0AÜ'9Ø—‘°4×3FÑ3Fô(ˆDÕ$ô ˜×0Ñ0´$×7Ò7Ü'9×'CÑ'CØ×(Ñ(ó(ˆDÔ$ð
  ˆÔØ!ˆÖùòm  Xùò (Hs   Ã"M3Ã/M3ÄM8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[;R&   S[;R&   S[S[ ,          ;R&   S[S[,          ;R&   S[S[,          ;R&   S[;R&   S[;R&   S[S[,          ;R&   S[S[,          ;R&   S[S[,          ;R&   # )r   r   Ú
resolutionr=   rO   rM   rG   rH   rI   rK   rN   rP   rQ   rR   Ú
layer_normrn   r    Únum_windowsÚprojector_scaler&   r#   r}   r~   r|   rt   r{   )r(   r)   r+   r   r   rv   )r,   r-   s   "€r   r.   ÚModelConfig.__annotate__@   s`  ø‡ ‚ áÑñ ñ Ññ ñ Ññ	 ñ
 Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ñ%ñ ñ Ññ ñ  Ñ*ñ! ñ" Ññ# ñ$ Ññ% ñ& ™#•YÑFñ' ñ( ™c�ÑQñ) ñ, '¡s�mÑ2ñ- ñ. Ññ/ ñ0 Ññ1 ñ2 "¡$�Ñ.ñ3 ñ6 ™d•^Ñ*ñ7 ñ8 !¡�Ñ-ò9 r   )ry   rt   r&   r|   r   r{   r€   )"r0   r1   r2   r3   r   r�   r=   rO   rM   rG   rH   rI   rK   rN   rP   rQ   rR   rŽ   rn   r    r�   r   r�   r&   r#   r}   r~   r|   rt   r{   rŠ   r4   r5   r6   r7   s   @r   r^   r^   @   sŸ   ø‡ € à€JØ€JØ€JØ€KØ€KØ€JØ€IØ€IØ€LØ€JØ€IØ€LØ!%ÐØ€JØ*€GØ€JØ€KÙ!&±~Ô!F€OÙ%*Ñ;PÔ%QÐà.2ÐØ€LØ€NØ*.Ðà&*€OØ)-ÐòZ"÷= ƒ r   r^   N)Ú__doc__Údataclassesr   r   Útypingr   r   Úbaser   r   r9   rC   rU   r^   r   r   r   Ú<module>r–      s›   ðÙ ç (ß !å "ð ô5�?ó 5ó ð5ð$ ô#�oó #ó ð#ð ô!˜ó !ó ð!ð$ ô˜ó ó ðð ôw"�/ó w"ó òw"r   