U
    ¯Ê¹jW	  ã                   @   sL   d dl mZmZ d dlmZmZmZmZ G dd„ deƒZG dd„ deƒZ	dS )é    )ÚABCÚabstractmethod)ÚDictÚListÚOptionalÚUnionc                	   @   sš   e Zd Zdd„ Zedd„ ƒZedd„ ƒZedeeee	e
 ee
e
f f dœd	d
„ƒZee
dœdd„ƒZedeee
dœdd„ƒZede
ee
dœdd„ƒZdS )ÚDatasetInfoc                 C   s   d S ©N© ©Úselfr
   r
   úU/var/www/html/bwave/python/venv/lib/python3.8/site-packages/timm/data/dataset_info.pyÚ__init__   s    zDatasetInfo.__init__c                 C   s   d S r	   r
   r   r
   r
   r   Únum_classes
   s    zDatasetInfo.num_classesc                 C   s   d S r	   r
   r   r
   r
   r   Úlabel_names   s    zDatasetInfo.label_namesF©ÚdetailedÚas_dictÚreturnc                 C   s   d S r	   r
   ©r   r   r   r
   r
   r   Úlabel_descriptions   s    zDatasetInfo.label_descriptions©r   c                 C   s   d S r	   r
   ©r   Úindexr
   r
   r   Úindex_to_label_name   s    zDatasetInfo.index_to_label_name©r   r   r   c                 C   s   d S r	   r
   )r   r   r   r
   r
   r   Úindex_to_description   s    z DatasetInfo.index_to_description©Úlabelr   r   c                 C   s   d S r	   r
   ©r   r   r   r
   r
   r   Úlabel_name_to_description   s    z%DatasetInfo.label_name_to_descriptionN)FF)F)F)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   Úboolr   r   Ústrr   r   r   Úintr   r    r
   r
   r
   r   r      s   

*r   c                       s¸   e Zd ZdZdeee eeef f e	eeef  dœ‡ fdd„Z
dd„ Zdd	„ Zdeeeee eeef f dœdd„Zdeeedœdd„Zedœdd„Zdeeedœdd„Z‡  ZS )ÚCustomDatasetInfoz: DatasetInfo that wraps passed values for custom datasets.N)r   r   c                    s^   t ƒ  ¡  t|ƒdkst‚|| _|| _| jd k	rZt| jtƒs@t‚| jD ]}|| jksFt‚qFd S ©Nr   )Úsuperr   ÚlenÚAssertionErrorÚ_label_namesÚ_label_descriptionsÚ
isinstanceÚdict)r   r   r   Ún©Ú	__class__r
   r   r   &   s    


zCustomDatasetInfo.__init__c                 C   s
   t | jƒS r	   )r*   r,   r   r
   r
   r   r   5   s    zCustomDatasetInfo.num_classesc                 C   s   | j S r	   )r,   r   r
   r
   r   r   8   s    zCustomDatasetInfo.label_namesFr   c                 C   s   | j S r	   ©r-   r   r
   r
   r   r   ;   s    z$CustomDatasetInfo.label_descriptionsr   c                 C   s   | j r| j | S |S r	   r3   r   r
   r
   r   r    >   s    
z+CustomDatasetInfo.label_name_to_descriptionr   c                 C   s*   d|  krt | jƒk s n t‚| j| S r(   )r*   r,   r+   r   r
   r
   r   r   C   s     z%CustomDatasetInfo.index_to_label_namer   c                 C   s   |   |¡}| j||d�S )N)r   )r   r    )r   r   r   r   r
   r
   r   r   G   s    
z&CustomDatasetInfo.index_to_description)N)FF)F)F)r!   r"   r#   Ú__doc__r   r   r%   r   r&   r   r   r   r   r$   r   r    r   r   Ú__classcell__r
   r
   r1   r   r'   #   s    ýý(r'   N)
Úabcr   r   Útypingr   r   r   r   r   r'   r
   r
   r
   r   Ú<module>   s   