U
    ¯Ê¹jÅ  ã                   @   sŒ   d dl Z d dlmZmZ d dlmZmZmZmZ d dl	m
Z
mZmZmZmZmZ dddgZeG dd„ dƒƒZddd„ZeG dd„ dƒƒZdS )é    N)ÚdequeÚdefaultdict)Ú	dataclassÚfieldÚreplaceÚasdict)ÚAnyÚDequeÚDictÚTupleÚOptionalÚUnionÚPretrainedCfgÚfilter_pretrained_cfgÚ
DefaultCfgc                   @   s†  e Zd ZU dZdZeeeeeef f  e	d< dZ
ee e	d< dZeeeef  e	d< dZee e	d< dZee e	d< dZee e	d< dZee e	d	< dZee e	d
< dZee	d< dZeeeef e	d< dZeeeeef  e	d< dZeeeeef  e	d< dZee	d< dZee	d< dZee	d< dZee e	d< dZee	d< dZeedf e	d< dZ eedf e	d< dZ!ee	d< dZ"ee e	d < dZ#eee  e	d!< dZ$eeeef  e	d"< dZ%eeedf  e	d#< dZ&eeedf  e	d$< dZ'ee e	d%< dZ(ee e	d&< dZ)ee e	d'< dZ*ee e	d(< dZ+ee e	d)< dZ,ee e	d*< dZ-eeeee f  e	d+< dZ.eee  e	d,< e/d-d.„ ƒZ0d2d0d1„Z1dS )3r   z
    NÚurlÚfileÚ
state_dictÚ	hf_hub_idÚhf_hub_filenameÚsourceÚarchitectureÚtagFÚcustom_load)é   éà   r   Ú
input_sizeÚtest_input_sizeÚmin_input_sizeÚfixed_input_sizeZbicubicÚinterpolationg      ì?Úcrop_pctÚtest_crop_pctÚcenterÚ	crop_mode)g
×£p=
ß?gÉv¾Ÿ/Ý?g–C‹lçûÙ?.Úmean)gZd;ßOÍ?gyé&1¬Ì?gÍÌÌÌÌÌÌ?Ústdiè  Únum_classesÚlabel_offsetÚlabel_namesÚlabel_descriptionsÚ	pool_sizeÚtest_pool_sizeÚ
first_convÚ
classifierÚlicenseÚdescriptionÚ
origin_urlÚ
paper_nameÚ	paper_idsÚnotesc                 C   s   | j p| jp| jS )N)r   r   r   ©Úself© r7   úV/var/www/html/bwave/python/venv/lib/python3.8/site-packages/timm/models/_pretrained.pyÚhas_weights9   s    zPretrainedCfg.has_weightsTc                 C   s   t t| ƒ||d�S )N)Úremove_sourceÚremove_null)r   r   )r6   r:   r;   r7   r7   r8   Úto_dict=   s
    ýzPretrainedCfg.to_dict)FT)2Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   Ústrr   Ú__annotations__r   r   r
   r   r   r   r   r   r   r   Úboolr   Úintr   r   r   r    r!   Úfloatr"   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   Úpropertyr9   r<   r7   r7   r7   r8   r   
   sJ   
 
FTc                 C   sP   i }dddh}|   ¡ D ]4\}}|r,|dkr,q|rB|d krB||krBq|||< q|S )Nr+   r-   r.   >   r   r   r   r   r   )Úitems)Úcfgr:   r;   Zfiltered_cfgZ	keep_nullÚkÚvr7   r7   r8   r   E   s    

c                   @   sb   e Zd ZU eed�Zee ed< ee	d�Z
eeef ed< dZeed< edd„ ƒZedd	„ ƒZd
S )r   )Údefault_factoryÚtagsÚcfgsFÚis_pretrainedc                 C   s   | j | jd  S ©Nr   )rM   rL   r5   r7   r7   r8   ÚdefaultW   s    zDefaultCfg.defaultc                 C   s   | j d }|| j| fS rO   )rL   rM   )r6   r   r7   r7   r8   Údefault_with_tag[   s    
zDefaultCfg.default_with_tagN)r=   r>   r?   r   r   rL   r	   rA   rB   ÚdictrM   r
   r   rN   rC   rF   rP   rQ   r7   r7   r7   r8   r   Q   s   

)FT)ÚcopyÚcollectionsr   r   Údataclassesr   r   r   r   Útypingr   r	   r
   r   r   r   Ú__all__r   r   r   r7   r7   r7   r8   Ú<module>   s    
:
