
    kh                     \    d dl Z ddl  e j                  e      Z	 	 	 	 	 ddZ	 	 	 	 ddZy)    N   )*c           	         |s| s	|sJ d       | xs i } |xs i }|s|t        |d      r|j                  }i }d}| j                  dd       | d   }n| j                  dd       | d   }|ddf}| j                  dd       Bt        | d   t        t
        f      sJ t        | d         dk(  sJ t	        | d         }|d   }nd| j                  d	d       !t        | d	   t              sJ || d	   | d	   f}n1|r|j                  d
d       |d
   }n|j                  dd       |d   }||d<   d|d<   | j                  dd       r	| d   |d<   n|j                  dd       r|d   |d<   t        |d<   | j                  dd       Jt	        | d         }t        |      dk(  rt	        t        |      |z        }nt        |      |k(  sJ ||d<   n|j                  dd       r|d   |d<   t        |d<   | j                  dd       Jt	        | d         }	t        |	      dk(  rt	        t        |	      |z        }	nt        |	      |k(  sJ |	|d<   n|j                  dd       r|d   |d<   t        }
| j                  dd       r| d   }
n1|r|j                  dd       r|d   }
n|j                  dd       r|d   }
|
|d<   t        }| j                  dd       r| d   }n|j                  dd       r|d   }||d<   |rQt        j                  d       |j                         D ])  \  }}t        j                  d|dt        |             + |S )NzHAt least one of model, args, or pretrained_cfg required for data config.pretrained_cfg   in_chanschans   
input_sizer   img_sizetest_input_sizebicubicinterpolationmeanr   stdcrop_pcttest_crop_pct	crop_modez:Data processing configuration for current model + dataset:	z: )hasattrr   get
isinstancetuplelistlenintIMAGENET_DEFAULT_MEANIMAGENET_DEFAULT_STDDEFAULT_CROP_PCTDEFAULT_CROP_MODE_loggerinfoitemsstr)argsr   modeluse_test_sizeverbosedata_configr   r   r   r   r   r   nvs                 L/var/www/teggl/fontify/venv/lib/python3.12/site-packages/timm/data/config.pyresolve_data_configr-      s    DNv,vv*:2D#)rNe/GECS4T--K Hxx
D!-
#	'4	 	,=C%Jxxd#/$|,udm<<<4%&!+++4-.
a=	*d	#	/$z*C000Z 0$z2BC
^//0A4HT'(9:Jd3?'5J *K $-K xx&'+O'<O$			OT	2'5o'FO$ 0Kxx)T&\"t9>dh./Dt9((("F			FD	),V4F .Kxxt(DK s8q=S	H,-Cs8x''' E			E4	(+E2E  Hxx
D!
#^//F%o6H
D1%j1H&K
 "IxxT"%				K	.";/	(KQR%%' 	3DAqLLq#a&12	3     c                 "    t        ||| ||      S )ab   Resolve Model Data Config
    This is equivalent to resolve_data_config() but with arguments re-ordered to put model first.

    Args:
        model (nn.Module): the model instance
        args (dict): command line arguments / configuration in dict form (overrides pretrained_cfg)
        pretrained_cfg (dict): pretrained model config (overrides pretrained_cfg attached to model)
        use_test_size (bool): use the test time input resolution (if one exists) instead of default train resolution
        verbose (bool): enable extra logging of resolved values

    Returns:
        dictionary of config
    )r%   r   r&   r'   r(   )r-   )r&   r%   r   r'   r(   s        r,   resolve_model_data_configr0   g   s     ( %# r.   )NNNFF)NNFF)logging	constants	getLogger__name__r!   r-   r0    r.   r,   <module>r6      sJ      '

H
% \B r.   