Ë
    éÓ^joJ  ã                   ó”  — d Z ddlmZ ddlmZmZ ddlZddlmZ ddlm	Z	m
Z
 ddlmZ ddlmZmZmZ d	d
lmZ d	dlmZmZmZ dgZ G d„ de«      Zd\d„Zd]d„Z ei d edd¬«      “d edd¬«      “d edd¬«      “d edddd¬«      “d eddd¬ «      “d! edd"d¬ «      “d# edd$d¬ «      “d% edd&ddd¬'«      “d( edd)¬«      “d* edd+dd¬«      “d, edd-¬«      “d. edd/¬«      “d0 edd1dd¬«      “d2 edd3¬«      “d4 edd5dd¬«      “d6 edd7¬«      “d8 edd9d¬:«      “ edd;dd¬«       edd<d¬:«       edd=d¬:«       edd>dd¬«       edd?d¬:«       edd@dd¬«       eddAd¬:«      dBœ¥«      Zed^dCefdD„«       Zed^dCefdE„«       Zed^dCefdF„«       Zed^dCefdG„«       Zed^dCefdH„«       Z ed^dCefdI„«       Z!ed^dCefdJ„«       Z"ed^dCefdK„«       Z#ed^dCefdL„«       Z$ed^dCefdM„«       Z%ed^dCefdN„«       Z&ed^dCefdO„«       Z'ed^dCefdP„«       Z(ed^dCefdQ„«       Z)ed^dCefdR„«       Z*ed^dCefdS„«       Z+ ee,d8dTdUdVdWdXdYdZd[œ«       y)_a[   DeiT - Data-efficient Image Transformers

DeiT model defs and weights from https://github.com/facebookresearch/deit, original copyright below

paper: `DeiT: Data-efficient Image Transformers` - https://arxiv.org/abs/2012.12877

paper: `DeiT III: Revenge of the ViT` - https://arxiv.org/abs/2204.07118

Modifications copyright 2021, Ross Wightman
é    )Úpartial)ÚOptionalÚTypeN)Únn©ÚIMAGENET_DEFAULT_MEANÚIMAGENET_DEFAULT_STD)Úresample_abs_pos_embed)ÚVisionTransformerÚtrunc_normal_Úcheckpoint_filter_fné   )Úbuild_model_with_cfg)Úgenerate_default_cfgsÚregister_modelÚregister_model_deprecationsÚVisionTransformerDistilledc                   ó8  ‡ — e Zd ZdZˆ fd„Zdˆ fd„	Zej                  j                  dd„«       Z	ej                  j                  de
j                  fd„«       Zddedee   fd	„Zej                  j                  dd
„«       Zd„ Zddedej(                  fd„Zˆ xZS )r   z· Vision Transformer w/ Distillation Token and Head

    Distillation token & head support for `DeiT: Data-efficient Image Transformers`
        - https://arxiv.org/abs/2012.12877
    c                 óò  •— |j                  dd«      }t        ‰| �  |i |¤ddi¤Ž | j                  dv sJ ‚|j	                  dd «      |j	                  dd «      dœ}d| _        t        j                  t        j                  d	d	| j                  fi |¤Ž«      | _        t        j                  t        j                  d	| j                  j                  | j
                  z   | j                  fi |¤Ž«      | _        | j                  d
kD  r+t        j                   | j                  | j                  fi |¤Žnt        j"                  «       | _        d| _        |dk(  rdn|| _        |dk7  r| j+                  d¬«       y y )NÚweight_initÚ Úskip)ÚtokenÚdeviceÚdtype)r   r   é   r   r   FÚreset)Úneeds_reset)ÚpopÚsuperÚ__init__Úglobal_poolÚgetÚnum_prefix_tokensr   Ú	ParameterÚtorchÚemptyÚ	embed_dimÚ
dist_tokenÚpatch_embedÚnum_patchesÚ	pos_embedÚnum_classesÚLinearÚIdentityÚ	head_distÚdistilled_trainingÚweight_init_modeÚinit_weights)ÚselfÚargsÚkwargsr   ÚddÚ	__class__s        €ú[/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/timm/models/deit.pyr!   z#VisionTransformerDistilled.__init__#   sD  ø€ Ø—j‘j °Ó3ˆÜ‰Ñ˜$Ð= &Ñ=°fÓ=Ø×Ñ :Ñ-Ð-Ð-ØŸ
™
 8¨TÓ2¸V¿Z¹ZÈÐQUÓ=VÑWˆà!"ˆÔÜŸ,™,¤u§{¡{°1°a¸¿¹Ñ'NÈ2Ñ'NÓOˆŒÜŸ™Ü�K‰K˜˜4×+Ñ+×7Ñ7¸$×:PÑ:PÑPÐRV×R`ÑR`ÑgÐdfÑgóiˆŒàNR×N^ÑN^ÐabÒNbœŸ™ 4§>¡>°4×3CÑ3CÑJÀrÒJÔhj×hsÑhsÓhuˆŒØ"'ˆÔà+6¸&Ò+@¡ÀkˆÔà˜&Ò Ø×Ñ¨%ÐÕ0ð !ó    c                 óv   •— |xs | j                   }t        | j                  d¬«       t        ‰| �  ||¬«       y )Ng{®Gáz”?)Ústd)Úmoder   )r2   r   r)   r    r3   )r4   r=   r   r8   s      €r9   r3   z'VisionTransformerDistilled.init_weights5   s3   ø€ ØÒ,�t×,Ñ,ˆÜ�d—o‘o¨3Õ/Ü‰Ñ $°KÐÕ@r:   c                 ó    — t        dddg¬«      S )Nz+^cls_token|pos_embed|patch_embed|dist_token)z^blocks\.(\d+)N)z^norm)iŸ† )ÚstemÚblocks)Údict)r4   Úcoarses     r9   Úgroup_matcherz(VisionTransformerDistilled.group_matcher:   s   € äØ?à)Ø$ð&ô
ð 	
r:   Úreturnc                 ó2   — | j                   | j                  fS ©N©Úheadr0   )r4   s    r9   Úget_classifierz)VisionTransformerDistilled.get_classifierC   s   € à�y‰y˜$Ÿ.™.Ð(Ð(r:   r-   r"   c                 ó*  — || _         |dkD  r t        j                  | j                  |«      nt        j                  «       | _        |dkD  r0t        j                  | j                  | j                   «      | _        y t        j                  «       | _        y )Nr   )r-   r   r.   r(   r/   rH   r0   )r4   r-   r"   s      r9   Úreset_classifierz+VisionTransformerDistilled.reset_classifierG   se   € Ø&ˆÔØ>IÈAºo”B—I‘I˜dŸn™n¨kÔ:ÔSU×S^ÑS^ÓS`ˆŒ	ØHSÐVWÊœŸ™ 4§>¡>°4×3CÑ3CÓDˆ�Ô]_×]hÑ]hÓ]jˆ�r:   c                 ó   — || _         y rF   )r1   )r4   Úenables     r9   Úset_distilled_trainingz1VisionTransformerDistilled.set_distilled_trainingL   s
   € à"(ˆÕr:   c                 ó  — | j                   rn|j                  \  }}}}| j                  j                  }t	        | j
                  ||f|| j                  rdn| j                  ¬«      }|j                  |d|«      }n| j
                  }| j                  rp||z   }t        j                  | j                  j                  |j                  d   dd«      | j                  j                  |j                  d   dd«      |fd¬«      }not        j                  | j                  j                  |j                  d   dd«      | j                  j                  |j                  d   dd«      |fd¬«      }||z   }| j                  |«      S )Nr   )Únew_sizeÚold_sizer$   éÿÿÿÿr   )Údim)Údynamic_img_sizeÚshaper*   Ú	grid_sizer
   r,   Úno_embed_classr$   Úviewr&   ÚcatÚ	cls_tokenÚexpandr)   Úpos_drop)r4   ÚxÚBÚHÚWÚCÚprev_grid_sizer,   s           r9   Ú
_pos_embedz%VisionTransformerDistilled._pos_embedP   sV  € Ø× Ò ØŸ™‰JˆAˆq�!�QØ!×-Ñ-×7Ñ7ˆNÜ.Ø—‘Ø˜Q˜Ø'Ø'+×':Ò':¡!À×@VÑ@Vô	ˆIð —‘�q˜"˜aÓ ‰AàŸ™ˆIØ×Òð �I‘ˆAÜ—	‘	Ø—‘×%Ñ% a§g¡g¨a¡j°"°bÓ9Ø—‘×&Ñ& q§w¡w¨q¡z°2°rÓ:Øðð ô	‰Aô —	‘	Ø—‘×%Ñ% a§g¡g¨a¡j°"°bÓ9Ø—‘×&Ñ& q§w¡w¨q¡z°2°rÓ:Øðð ô	ˆAð
 �I‘ˆAØ�}‰}˜QÓÐr:   Ú
pre_logitsc                 ó  — |d d …df   |d d …df   }}|r||z   dz  S | j                  |«      }| j                  |«      }| j                  r.| j                  r"t        j
                  j                  «       s||fS ||z   dz  S )Nr   r   r   )rH   r0   r1   Útrainingr&   ÚjitÚis_scripting)r4   r]   rd   Úx_dists       r9   Úforward_headz'VisionTransformerDistilled.forward_headq   s�   € Ø’a˜�d‘G˜Qšq !˜t™Wˆ6ˆÙØ˜‘J !Ñ#Ð#Ø�I‰I�a‹LˆØ—‘ Ó'ˆØ×"Ò" t§}¢}¼U¿Y¹Y×=SÑ=SÔ=Uà�f�9Ðð ˜‘J !Ñ#Ð#r:   )r   T©FrF   )T)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r!   r3   r&   rg   ÚignorerC   r   ÚModulerI   Úintr   ÚstrrK   rN   rc   ÚboolÚTensorrj   Ú__classcell__)r8   s   @r9   r   r      s¯   ø„ ñô1õ$Að
 ‡Y�Y×Ñò
ó ð
ð ‡Y�Y×Ñð) §	¡	ò )ó ð)ñk¨Cð k¸hÀs¹mó kð
 ‡Y�Y×Ñò)ó ð)ò ñB$¨$ð $¸5¿<¹<÷ $r:   c                 óœ   — |j                  dd«      }|rt        nt        }t        || |ft	        t
        d¬«      t        |d¬«      dœ|¤Ž}|S )NÚout_indicesé   T)Úadapt_layer_scaleÚgetter)rx   Úfeature_cls)Úpretrained_filter_fnÚfeature_cfg)r   r   r   r   r   r   rA   )ÚvariantÚ
pretrainedÚ	distilledr6   rx   Ú	model_clsÚmodels          r9   Ú_create_deitr„      s]   € Ø—*‘*˜]¨AÓ.€KÙ.7Õ*Ô=N€IÜ ØØØðô %Ô%9ÈTÔRÜ [¸hÔGñð ñ€Eð €Lr:   c                 ó4   — | ddd dddt         t        dddd	œ|¥S )
Niè  )ry   éà   r†   gÍÌÌÌÌÌì?ÚbicubicTzpatch_embed.projrH   z
apache-2.0)Úurlr-   Ú
input_sizeÚ	pool_sizeÚcrop_pctÚinterpolationÚfixed_input_sizeÚmeanr<   Ú
first_convÚ
classifierÚlicenser   )rˆ   r6   s     r9   Ú_cfgr’   �   s5   € àØ¨=ÀtØ¨ÈÜ%Ô.BØ(¸Øñð ðð r:   zdeit_tiny_patch16_224.fb_in1kztimm/zFhttps://dl.fbaipublicfiles.com/deit/deit_tiny_patch16_224-a1311bcf.pth)Ú	hf_hub_idrˆ   zdeit_small_patch16_224.fb_in1kzGhttps://dl.fbaipublicfiles.com/deit/deit_small_patch16_224-cd65a155.pthzdeit_base_patch16_224.fb_in1kzFhttps://dl.fbaipublicfiles.com/deit/deit_base_patch16_224-b5f2ef4d.pthzdeit_base_patch16_384.fb_in1kzFhttps://dl.fbaipublicfiles.com/deit/deit_base_patch16_384-8de9b5d1.pth)ry   é€  r”   g      ð?)r“   rˆ   r‰   r‹   z'deit_tiny_distilled_patch16_224.fb_in1kzPhttps://dl.fbaipublicfiles.com/deit/deit_tiny_distilled_patch16_224-b40b3cf7.pthrG   )r“   rˆ   r�   z(deit_small_distilled_patch16_224.fb_in1kzQhttps://dl.fbaipublicfiles.com/deit/deit_small_distilled_patch16_224-649709d9.pthz'deit_base_distilled_patch16_224.fb_in1kzPhttps://dl.fbaipublicfiles.com/deit/deit_base_distilled_patch16_224-df68dfff.pthz'deit_base_distilled_patch16_384.fb_in1kzPhttps://dl.fbaipublicfiles.com/deit/deit_base_distilled_patch16_384-d0272ac0.pth)r“   rˆ   r‰   r‹   r�   zdeit3_small_patch16_224.fb_in1kz;https://dl.fbaipublicfiles.com/deit/deit_3_small_224_1k.pthzdeit3_small_patch16_384.fb_in1kz;https://dl.fbaipublicfiles.com/deit/deit_3_small_384_1k.pthz deit3_medium_patch16_224.fb_in1kz<https://dl.fbaipublicfiles.com/deit/deit_3_medium_224_1k.pthzdeit3_base_patch16_224.fb_in1kz:https://dl.fbaipublicfiles.com/deit/deit_3_base_224_1k.pthzdeit3_base_patch16_384.fb_in1kz:https://dl.fbaipublicfiles.com/deit/deit_3_base_384_1k.pthzdeit3_large_patch16_224.fb_in1kz;https://dl.fbaipublicfiles.com/deit/deit_3_large_224_1k.pthzdeit3_large_patch16_384.fb_in1kz;https://dl.fbaipublicfiles.com/deit/deit_3_large_384_1k.pthzdeit3_huge_patch14_224.fb_in1kz:https://dl.fbaipublicfiles.com/deit/deit_3_huge_224_1k.pthz(deit3_small_patch16_224.fb_in22k_ft_in1kz<https://dl.fbaipublicfiles.com/deit/deit_3_small_224_21k.pth)r“   rˆ   r‹   z<https://dl.fbaipublicfiles.com/deit/deit_3_small_384_21k.pthz=https://dl.fbaipublicfiles.com/deit/deit_3_medium_224_21k.pthz;https://dl.fbaipublicfiles.com/deit/deit_3_base_224_21k.pthz;https://dl.fbaipublicfiles.com/deit/deit_3_base_384_21k.pthz<https://dl.fbaipublicfiles.com/deit/deit_3_large_224_21k.pthz<https://dl.fbaipublicfiles.com/deit/deit_3_large_384_21k.pthz>https://dl.fbaipublicfiles.com/deit/deit_3_huge_224_21k_v1.pth)ú(deit3_small_patch16_384.fb_in22k_ft_in1kú)deit3_medium_patch16_224.fb_in22k_ft_in1kú'deit3_base_patch16_224.fb_in22k_ft_in1kú'deit3_base_patch16_384.fb_in22k_ft_in1kú(deit3_large_patch16_224.fb_in22k_ft_in1kú(deit3_large_patch16_384.fb_in22k_ft_in1kú'deit3_huge_patch14_224.fb_in22k_ft_in1krD   c           	      óR   — t        dddd¬«      }t        dd| it        |fi |¤Ž¤Ž}|S )z• DeiT-tiny model @ 224x224 from paper (https://arxiv.org/abs/2012.12877).
    ImageNet-1k weights from https://github.com/facebookresearch/deit.
    é   éÀ   é   ry   ©Ú
patch_sizer(   ÚdepthÚ	num_headsr€   )Údeit_tiny_patch16_224©rA   r„   ©r€   r6   Ú
model_argsrƒ   s       r9   r¤   r¤   ú   s7   € ô
  ¨s¸"ÈÔJ€JÜÑf¸ZÐfÌ4ÐPZÑKeÐ^dÑKeÑf€EØ€Lr:   c           	      óR   — t        dddd¬«      }t        dd| it        |fi |¤Ž¤Ž}|S )z– DeiT-small model @ 224x224 from paper (https://arxiv.org/abs/2012.12877).
    ImageNet-1k weights from https://github.com/facebookresearch/deit.
    r�   r”   rŸ   é   r    r€   )Údeit_small_patch16_224r¥   r¦   s       r9   rª   rª     s7   € ô
  ¨s¸"ÈÔJ€JÜÑg¸jÐgÌDÐQ[ÑLfÐ_eÑLfÑg€EØ€Lr:   c           	      óR   — t        dddd¬«      }t        dd| it        |fi |¤Ž¤Ž}|S )z• DeiT base model @ 224x224 from paper (https://arxiv.org/abs/2012.12877).
    ImageNet-1k weights from https://github.com/facebookresearch/deit.
    r�   é   rŸ   r    r€   )Údeit_base_patch16_224r¥   r¦   s       r9   r­   r­     ó7   € ô
  ¨s¸"ÈÔK€JÜÑf¸ZÐfÌ4ÐPZÑKeÐ^dÑKeÑf€EØ€Lr:   c           	      óR   — t        dddd¬«      }t        dd| it        |fi |¤Ž¤Ž}|S )z• DeiT base model @ 384x384 from paper (https://arxiv.org/abs/2012.12877).
    ImageNet-1k weights from https://github.com/facebookresearch/deit.
    r�   r¬   rŸ   r    r€   )Údeit_base_patch16_384r¥   r¦   s       r9   r°   r°     r®   r:   c           	      óV   — t        dddd¬«      }t        	 d| ddœt        |fi |¤Ž¤Ž}|S )	zŸ DeiT-tiny distilled model @ 224x224 from paper (https://arxiv.org/abs/2012.12877).
    ImageNet-1k weights from https://github.com/facebookresearch/deit.
    r�   rž   rŸ   ry   r    T©r€   r�   )Údeit_tiny_distilled_patch16_224r¥   r¦   s       r9   r³   r³   "  sG   € ô
  ¨s¸"ÈÔJ€JÜØ)ðpØ6@ÈDñpÜTXÐYcÑTnÐgmÑTnñp€Eà€Lr:   c           	      óV   — t        dddd¬«      }t        	 d| ddœt        |fi |¤Ž¤Ž}|S )	z  DeiT-small distilled model @ 224x224 from paper (https://arxiv.org/abs/2012.12877).
    ImageNet-1k weights from https://github.com/facebookresearch/deit.
    r�   r”   rŸ   r©   r    Tr²   )Ú deit_small_distilled_patch16_224r¥   r¦   s       r9   rµ   rµ   -  sG   € ô
  ¨s¸"ÈÔJ€JÜØ*ðqØ7AÈTñqÜUYÐZdÑUoÐhnÑUoñq€Eà€Lr:   c           	      óV   — t        dddd¬«      }t        	 d| ddœt        |fi |¤Ž¤Ž}|S )zŸ DeiT-base distilled model @ 224x224 from paper (https://arxiv.org/abs/2012.12877).
    ImageNet-1k weights from https://github.com/facebookresearch/deit.
    r�   r¬   rŸ   r    Tr²   )Údeit_base_distilled_patch16_224r¥   r¦   s       r9   r·   r·   8  óG   € ô
  ¨s¸"ÈÔK€JÜØ)ðpØ6@ÈDñpÜTXÐYcÑTnÐgmÑTnñp€Eà€Lr:   c           	      óV   — t        dddd¬«      }t        	 d| ddœt        |fi |¤Ž¤Ž}|S )zŸ DeiT-base distilled model @ 384x384 from paper (https://arxiv.org/abs/2012.12877).
    ImageNet-1k weights from https://github.com/facebookresearch/deit.
    r�   r¬   rŸ   r    Tr²   )Údeit_base_distilled_patch16_384r¥   r¦   s       r9   rº   rº   C  r¸   r:   c           	      óV   — t        dddddd¬«      }t        d	d| it        |fi |¤Ž¤Ž}|S )
z˜ DeiT-3 small model @ 224x224 from paper (https://arxiv.org/abs/2204.07118).
    ImageNet-1k weights from https://github.com/facebookresearch/deit.
    r�   r”   rŸ   r©   Tç�íµ ÷Æ°>©r¡   r(   r¢   r£   rW   Úinit_valuesr€   )Údeit3_small_patch16_224r¥   r¦   s       r9   r¿   r¿   N  ó=   € ô
  ¨s¸"ÈÐZ^ÐlpÔq€JÜÑh¸zÐhÌTÐR\ÑMgÐ`fÑMgÑh€EØ€Lr:   c           	      óV   — t        dddddd¬«      }t        d	d| it        |fi |¤Ž¤Ž}|S )
z˜ DeiT-3 small model @ 384x384 from paper (https://arxiv.org/abs/2204.07118).
    ImageNet-1k weights from https://github.com/facebookresearch/deit.
    r�   r”   rŸ   r©   Tr¼   r½   r€   )Údeit3_small_patch16_384r¥   r¦   s       r9   rÂ   rÂ   X  rÀ   r:   c           	      óV   — t        dddddd¬«      }t        d	d| it        |fi |¤Ž¤Ž}|S )
zŽ DeiT-3 medium model @ 224x224 (https://arxiv.org/abs/2012.12877).
    ImageNet-1k weights from https://github.com/facebookresearch/deit.
    r�   i   rŸ   é   Tr¼   r½   r€   )Údeit3_medium_patch16_224r¥   r¦   s       r9   rÅ   rÅ   b  s=   € ô
  ¨s¸"ÈÐZ^ÐlpÔq€JÜÑiÀ
ÐiÌdÐS]ÑNhÐagÑNhÑi€EØ€Lr:   c           	      óV   — t        dddddd¬«      }t        dd| it        |fi |¤Ž¤Ž}|S )	z— DeiT-3 base model @ 224x224 from paper (https://arxiv.org/abs/2204.07118).
    ImageNet-1k weights from https://github.com/facebookresearch/deit.
    r�   r¬   rŸ   Tr¼   r½   r€   )Údeit3_base_patch16_224r¥   r¦   s       r9   rÇ   rÇ   l  ó=   € ô
  ¨s¸"ÈÐ[_ÐmqÔr€JÜÑg¸jÐgÌDÐQ[ÑLfÐ_eÑLfÑg€EØ€Lr:   c           	      óV   — t        dddddd¬«      }t        dd| it        |fi |¤Ž¤Ž}|S )	ú— DeiT-3 base model @ 384x384 from paper (https://arxiv.org/abs/2204.07118).
    ImageNet-1k weights from https://github.com/facebookresearch/deit.
    r�   r¬   rŸ   Tr¼   r½   r€   )Údeit3_base_patch16_384r¥   r¦   s       r9   rË   rË   v  rÈ   r:   c           	      óV   — t        dddddd¬«      }t        dd| it        |fi |¤Ž¤Ž}|S )	z˜ DeiT-3 large model @ 224x224 from paper (https://arxiv.org/abs/2204.07118).
    ImageNet-1k weights from https://github.com/facebookresearch/deit.
    r�   é   é   Tr¼   r½   r€   )Údeit3_large_patch16_224r¥   r¦   s       r9   rÏ   rÏ   €  ó=   € ô
  ¨t¸2ÈÐ\`ÐnrÔs€JÜÑh¸zÐhÌTÐR\ÑMgÐ`fÑMgÑh€EØ€Lr:   c           	      óV   — t        dddddd¬«      }t        dd| it        |fi |¤Ž¤Ž}|S )	z˜ DeiT-3 large model @ 384x384 from paper (https://arxiv.org/abs/2204.07118).
    ImageNet-1k weights from https://github.com/facebookresearch/deit.
    r�   rÍ   rÎ   Tr¼   r½   r€   )Údeit3_large_patch16_384r¥   r¦   s       r9   rÒ   rÒ   Š  rÐ   r:   c           	      óV   — t        dddddd¬«      }t        d	d| it        |fi |¤Ž¤Ž}|S )
rÊ   é   i   é    r�   Tr¼   r½   r€   )Údeit3_huge_patch14_224r¥   r¦   s       r9   rÖ   rÖ   ”  s=   € ô
  ¨t¸2ÈÐ\`ÐnrÔs€JÜÑg¸jÐgÌDÐQ[ÑLfÐ_eÑLfÑg€EØ€Lr:   r•   r–   r—   r˜   r™   rš   r›   )Ú deit3_small_patch16_224_in21ft1kÚ deit3_small_patch16_384_in21ft1kÚ!deit3_medium_patch16_224_in21ft1kÚdeit3_base_patch16_224_in21ft1kÚdeit3_base_patch16_384_in21ft1kÚ deit3_large_patch16_224_in21ft1kÚ deit3_large_patch16_384_in21ft1kÚdeit3_huge_patch14_224_in21ft1k)FF)r   rk   )-ro   Ú	functoolsr   Útypingr   r   r&   r   Ú	timm.datar   r	   Útimm.layersr
   Útimm.models.vision_transformerr   r   r   Ú_builderr   Ú	_registryr   r   r   Ú__all__r   r„   r’   Údefault_cfgsr¤   rª   r­   r°   r³   rµ   r·   rº   r¿   rÂ   rÅ   rÇ   rË   rÏ   rÒ   rÖ   rl   © r:   r9   ú<module>ré      s·  ðñ	õ ß !ã Ý ç AÝ .ß aÑ aÝ *ß YÑ Yà'Ð
(€ô`$Ð!2ô `$óFó	ñ %ð ^&à#¡TØØTô&Vð^&ð
 %¡dØØUô'Wð^&ð $¡TØØTô&Vð^&ð $¡TØØTØ ¨3ô&0ð^&ð  .©tØØ^Ø(ô0*ð!^&ð( /±ØØ_Ø(ô1*ð)^&ð0 .©tØØ^Ø(ô0*ð1^&ð8 .©tØØ^Ø ¨3Ø(ô	0*ð9^&ðD &¡tØØIô(KðE^&ðJ &¡tØØIØ ¨3ô(0ðK^&ðR '©ØØJô)LðS^&ðX %¡dØØHô'JðY^&ð^ %¡dØØHØ ¨3ô'0ð_^&ðf &¡tØØIô(Kðg^&ðl &¡tØØIØ ¨3ô(0ðm^&ðt %¡dØØHô'Jðu^&ð| /±ØØJØô1ð}^&ñD 15ØØJØ ¨3ô10ñ 26ØØKØô2ñ 04ØØIØô0ñ 04ØØIØ ¨3ô00ñ 15ØØJØô1ñ 15ØØJØ ¨3ô10ñ 04ØØLØô0òu^&ó ^€ðB ñÐ9Jò ó ðð ñÐ:Kò ó ðð ñÐ9Jò ó ðð ñÐ9Jò ó ðð ñÐC]ò ó ðð ñÐD^ò ó ðð ñÐC]ò ó ðð ñÐC]ò ó ðð ñÐ;Lò ó ðð ñÐ;Lò ó ðð ñÐ<Mò ó ðð ñÐ:Kò ó ðð ñÐ:Kò ó ðð ñÐ;Lò ó ðð ñÐ;Lò ó ðð ñÐ:Kò ó ðñ ˜HØ(RØ(RØ)TØ'PØ'PØ(RØ(RØ'Pñ	'õ 	r:   