
    RЦiG                         S SK r S SKrS SKrS SKrS SKJrJrJrJr  SSK	J
r
  SSSSS	S
S.rSSSSSSSS.rSrSrS\\   4S jr " S S\
5      rg)    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                     [        U [        5      (       a  U R                  SS 5      nO3[        U SS 5      nU(       d  [        U S0 5      nUR                  SS 5      nU(       a
  U[        ;  a  g [        U   $ )Nnum_classespretrained_cfg)
isinstancedictgetgetattr_NUM_CLASSES_TO_SUBSET)model_or_cfgr   r   s      V/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/timm/data/imagenet_info.pyinfer_imagenet_subsetr   !   sn    ,%%"&&}d;lM4@$\3CRHN ),,]DAK+-CC!+..    c                      ^  \ rS rSrSS\4U 4S jjjrS rS rSS\S\S\	\
\   \\\4   4   4S	 jjrS\4S
 jrSS\S\S\4S jjrSS\S\S\4S jjrSrU =r$ )ImageNetInfo0   subsetc                 `  > [         TU ]  5         [        R                  " SSUR	                  5       5      nU[
        ;   d   SU S35       e[
        U   n[        R                  " [        [        R                  R                  SU5      5      nUR                  S5      R                  5       U l        [        R                  " [        [        R                  R                  S[        5      5      n[         R"                  " UR                  S5      R                  5       SS9n[%        U5      U l        [        R                  " [        [        R                  R                  S[(        5      5      n[         R"                  " UR                  S5      R                  5       SS9n[%        U5      U l        g )	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_datar9   definition_data	__class__s          r   r)   ImageNetInfo.__init__2   s0   	2v||~6!G%=fXQ#GG! v&&&xg{1ST#**73>>@ %%hWk0RS
J--g6AACtTF|!**8RWW\\'K[5\]O227;FFHTXY Lr   c                 ,    [        U R                  5      $ Nlenr6   r=   s    r   r   ImageNetInfo.num_classesE   s    4==!!r   c                     U R                   $ rE   )r6   rH   s    r   label_namesImageNetInfo.label_namesH   s    }}r   detailedas_dictr   c           	          U(       a*  U R                    Vs0 s H  o3U R                  X1S9_M     sn$ U R                    Vs/ s H  o0R                  X1S9PM     sn$ s  snf s  snf N)rM   )r6   label_name_to_description)r=   rM   rN   labels       r   label_descriptionsImageNetInfo.label_descriptionsK   sg    aeananoanX]499%9SSanooZ^ZgZghZgQV2252LZghh phs   A A c                     SUs=::  a  [        U R                  5      :  d#  O   SU S[        U R                  5       S35       eU R                  U   $ )Nr   zIndex (z ) out of range for dataset with z	 classes.rF   )r=   indexs     r   index_to_label_name ImageNetInfo.index_to_label_nameQ   sT    E.C.. 	[eW<S=O<PPYZ	[.}}U##r   rV   c                 B    U R                  U5      nU R                  X2S9$ rP   )rW   rQ   )r=   rV   rM   rR   s       r   index_to_description!ImageNetInfo.index_to_descriptionV   s&    ((/--e-GGr   rR   c                 z    U(       a#  U R                   U    SU R                  U    3nU$ U R                   U    nU$ )Nz: )r:   r<   )r=   rR   rM   descriptions       r   rQ   &ImageNetInfo.label_name_to_descriptionZ   sL    !\\%01D4E4Ee4L3MNK  "\\%01Kr   )r<   r:   r6   )r	   )FF)F)r0   
__module____qualname____firstlineno__strr)   r   rK   boolr   r   r   rS   rW   intrZ   rQ   __static_attributes____classcell__)rB   s   @r   r   r   0   s    )s ) )&"i4 i$ iSXY]^aYbdhilnqiqdrYrSs i$C $
H# H H# Hs d s  r   r   )r8   r1   r.   r*   typingr   r   r   r   dataset_infor   r   r-   r7   r;   rb   r   r    r   r   <module>rj      s}    
 	  	 . . %
   ),,1551 -6 /8C= //; /r   