Ë
    éÓ^jG  ã                   óž   — d dl Z d dlZd dlZd dlZd dlmZmZmZmZ ddl	m
Z
 ddddd	d
dœZddddddddœZdZdZdee   fd„Z G d„ de
«      Zy)é    N)ÚDictÚListÚOptionalÚUnioné   )ÚDatasetInfoúimagenet-1kzimagenet-21k-miilzimagenet-12kzimagenet-22kzimagenet-22k-mszimagenet-21k-goog)iè  iÕ+  i-.  iQU  iRU  iSU  zimagenet_synsets.txtzimagenet12k_synsets.txtzimagenet22k_synsets.txtzimagenet21k_goog_synsets.txtzimagenet21k_miil_synsets.txtzimagenet22k_ms_synsets.txt)Ú
imagenet1kÚimagenet12kÚimagenet22kÚimagenet21kÚimagenet21kgoogÚimagenet21kmiilÚimagenet22kmszimagenet_synset_to_lemma.txtz!imagenet_synset_to_definition.txtÚreturnc                 óÌ   — t        | t        «      r| j                  dd «      }n.t        | dd «      }|st        | di «      }|j                  dd «      }|r|t        vry t        |   S )NÚnum_classesÚpretrained_cfg)Ú
isinstanceÚdictÚgetÚgetattrÚ_NUM_CLASSES_TO_SUBSET)Úmodel_or_cfgr   r   s      úb/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/timm/data/imagenet_info.pyÚinfer_imagenet_subsetr   !   sk   € Ü�,¤Ô%Ø"×&Ñ& }°dÓ;‰ä˜l¨M¸4Ó@ˆÙÜ$ \Ð3CÀRÓHˆNð )×,Ñ,¨]¸DÓAˆKÙ˜+Ô-CÑCØÜ! +Ñ.Ð.ó    c                   óš   ‡ — e Zd Zddefˆ fd„Zd„ Zd„ Zddededee	e   e
eef   f   fd„Zdefd	„Zdd
ededefd„Zddededefd„Zˆ xZS )ÚImageNetInfoÚsubsetc                 ó\  •— t         ‰| �  «        t        j                  dd|j	                  «       «      }|t
        v sJ d|› d�«       ‚t
        |   }t        j                  t        t        j                  j                  d|«      «      }|j                  d«      j                  «       | _        t        j                  t        t        j                  j                  dt        «      «      }t!        j"                  |j                  d«      j                  «       d¬«      }t%        |«      | _        t        j                  t        t        j                  j                  dt(        «      «      }t!        j"                  |j                  d«      j                  «       d¬«      }t%        |«      | _        y )	Nz[-_\s]Ú zUnknown imagenet subset ú.Ú_infozutf-8ú	)Ú	delimiter)ÚsuperÚ__init__ÚreÚsubÚlowerÚ_SUBSETSÚpkgutilÚget_dataÚ__name__ÚosÚpathÚjoinÚdecodeÚ
splitlinesÚ_synsetsÚ_LEMMA_FILEÚcsvÚreaderr   Ú_lemmasÚ_DEFINITION_FILEÚ_definitions)Úselfr    Úsynset_fileÚsynset_dataÚ
lemma_datar8   Údefinition_dataÚ	__class__s          €r   r(   zImageNetInfo.__init__2   s0  ø€ Ü‰ÑÔÜ—‘˜	 2 v§|¡|£~Ó6ˆØœÑ!ÐGÐ%=¸f¸XÀQÐ#GÓGÐ!ô ˜vÑ&ˆÜ×&Ñ&¤x´·±·±¸gÀ{Ó1SÓTˆØ#×*Ñ*¨7Ó3×>Ñ>Ó@ˆŒô ×%Ñ%¤h´·±·±¸WÄkÓ0RÓSˆ
Ü—‘˜J×-Ñ-¨gÓ6×AÑAÓCÈtÔTˆÜ˜F“|ˆŒÜ!×*Ñ*¬8´R·W±W·\±\À'ÔK[Ó5\Ó]ˆÜ—‘˜O×2Ñ2°7Ó;×FÑFÓHÐTXÔYˆÜ  ›LˆÕr   c                 ó,   — t        | j                  «      S ©N©Úlenr5   ©r<   s    r   r   zImageNetInfo.num_classesE   s   € Ü�4—=‘=Ó!Ð!r   c                 ó   — | j                   S rC   )r5   rF   s    r   Úlabel_nameszImageNetInfo.label_namesH   s   € Ø�}‰}Ðr   ÚdetailedÚas_dictr   c                 óÈ   — |r,| j                   D �ci c]  }|| j                  ||¬«      “Œ c}S | j                   D �cg c]  }| j                  ||¬«      ‘Œ c}S c c}w c c}w ©N)rI   )r5   Úlabel_name_to_description)r<   rI   rJ   Úlabels       r   Úlabel_descriptionszImageNetInfo.label_descriptionsK   sc   € ÙØae×anÑanÖoÐX]�E˜4×9Ñ9¸%È(Ð9ÓSÑSÒoÐoàZ^×ZgÑZgÖhÐQV�D×2Ñ2°5À8Ð2ÕLÒhÐhùò pùâhs
   ‘A½Ac                 ó¢   — d|cxk  rt        | j                  «      k  s#n J d|› dt        | j                  «      › d�«       ‚| j                  |   S )Nr   zIndex (z ) out of range for dataset with z	 classes.rD   )r<   Úindexs     r   Úindex_to_label_namez ImageNetInfo.index_to_label_nameQ   sT   € Ø�EÔ.œC §¡Ó.Ô.ð 	[Ø�e�WÐ<¼SÀÇÁÓ=OÐ<PÐPYÐZó	[Ð.à�}‰}˜UÑ#Ð#r   rQ   c                 óJ   — | j                  |«      }| j                  ||¬«      S rL   )rR   rM   )r<   rQ   rI   rN   s       r   Úindex_to_descriptionz!ImageNetInfo.index_to_descriptionV   s(   € Ø×(Ñ(¨Ó/ˆØ×-Ñ-¨e¸hÐ-ÓGÐGr   rN   c                 óp   — |r#| j                   |   › d| j                  |   › �}|S | j                   |   › }|S )Nz: )r9   r;   )r<   rN   rI   Údescriptions       r   rM   z&ImageNetInfo.label_name_to_descriptionZ   sL   € ÙØ!Ÿ\™\¨%Ñ0Ð1°°D×4EÑ4EÀeÑ4LÐ3MÐNˆKð Ðð "Ÿ\™\¨%Ñ0Ð1ˆKØÐr   )r	   )FF)F)r/   Ú
__module__Ú__qualname__Ústrr(   r   rH   Úboolr   r   r   rO   rR   ÚintrT   rM   Ú__classcell__)rA   s   @r   r   r   0   sš   ø„ ñ)˜sõ )ò&"òñi¨4ð iÀ$ð iÐSXÐY]Ð^aÑYbÐdhÐilÐnqÐiqÑdrÐYrÑSsó ið$¨Có $ñ
H¨#ð H¸ð HÈ#ó Hñ¨sð ¸dð Ès÷ r   r   )r7   r0   r-   r)   Útypingr   r   r   r   Údataset_infor   r   r,   r6   r:   rY   r   r   © r   r   ú<module>r`      s}   ðÛ 
Û 	Û Û 	ß .Ó .å %ð
 ØØØØØñÐ ð )Ø,Ø,Ø1Ø5Ø5Ø1ñ€ð -€Ø6Ð ð/¨8°C©=ó /ô/�;õ /r   