
    NgW	                     f    d dl mZmZ d dlmZmZmZmZ  G d de          Z G d de          Z	dS )    )ABCabstractmethod)DictListOptionalUnionc                       e Zd Zd Zed             Zed             Zeddededee	e
         ee
e
f         f         fd            Zede
fd	            Zedd
edede
fd            Zedde
dede
fd            ZdS )DatasetInfoc                     d S N selfs    R/var/www/html/ai-engine/env/lib/python3.11/site-packages/timm/data/dataset_info.py__init__zDatasetInfo.__init__   s        c                     d S r   r   r   s    r   num_classeszDatasetInfo.num_classes
       r   c                     d S r   r   r   s    r   label_nameszDatasetInfo.label_names   r   r   Fdetailedas_dictreturnc                     d S r   r   r   r   r   s      r   label_descriptionszDatasetInfo.label_descriptions   r   r   c                     d S r   r   r   indexs     r   index_to_label_namezDatasetInfo.index_to_label_name   r   r   r    c                     d S r   r   )r   r    r   s      r   index_to_descriptionz DatasetInfo.index_to_description   r   r   labelc                     d S r   r   r   r$   r   s      r   label_name_to_descriptionz%DatasetInfo.label_name_to_description   r   r   NFFF)__name__
__module____qualname__r   r   r   r   boolr   r   strr   r   r!   intr#   r'   r   r   r   r
   r
      sM            ^   ^  4 $ SXY]^aYbdhilnqiqdrYrSs    ^ C    ^  #  #    ^  s d s    ^  r   r
   c                        e Zd ZdZ	 ddeee         eeef         f         de	eeef                  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ded	edefdZdefdZdded	edefdZ xZS )CustomDatasetInfoz: DatasetInfo that wraps passed values for custom datasets.Nr   r   c                    t                                                       t          |          dk    sJ || _        || _        | j        1t          | j        t                    sJ | j        D ]}|| j        v sJ d S d S Nr   )superr   len_label_names_label_descriptions
isinstancedict)r   r   r   n	__class__s       r   r   zCustomDatasetInfo.__init__&   s    
 	;!####'#5 #/d6=====& 5 5D444444	 0/5 5r   c                 *    t          | j                  S r   r5   r6   r   s    r   r   zCustomDatasetInfo.num_classes5   s    4$%%%r   c                     | j         S r   )r6   r   s    r   r   zCustomDatasetInfo.label_names8   s      r   Fr   r   r   c                     | j         S r   r7   r   s      r   r   z$CustomDatasetInfo.label_descriptions;   s    ''r   r$   c                 .    | j         r| j         |         S |S r   r@   r&   s      r   r'   z+CustomDatasetInfo.label_name_to_description>   s     # 	3+E22r   c                 b    d|cxk    rt          | j                  k     sn J | j        |         S r3   r=   r   s     r   r!   z%CustomDatasetInfo.index_to_label_nameC   s@    E2222C 122222222 ''r   r    c                 Z    |                      |          }|                     ||          S )N)r   )r!   r'   )r   r    r   r$   s       r   r#   z&CustomDatasetInfo.index_to_descriptionG   s.    ((//--eh-GGGr   r   r(   r)   )r*   r+   r,   __doc__r   r   r.   r   r/   r   r   r   r   r-   r   r'   r!   r#   __classcell__)r;   s   @r   r1   r1   #   sq       DD
 <@5 5tCy$sCx.895 !)c3h 85 5 5 5 5 5& & &! ! !( (4 ($ (SXY]^aYbdhilnqiqdrYrSs ( ( ( ( s d s    
(C ( ( ( (H H# H H# H H H H H H H Hr   r1   N)
abcr   r   typingr   r   r   r   r
   r1   r   r   r   <module>rH      s    # # # # # # # # . . . . . . . . . . . .    #   <&H &H &H &H &H &H &H &H &H &Hr   