
    RЦi                        S r SSKrSSKrSSKJr  SSKJr  SSKJrJ	r	J
r
JrJrJrJrJrJrJrJrJrJrJr  SSKJr  \" S0 S\R2                  _S\R2                  _S	\R4                  _S
\_S\	_S\
_S\_S\_S\_S\_S\_S\_S\_S\_S\_S\_S\_S\_6r\R9                  5        V Vs1 s H  u  pUiM	     snn rS rS rgs  snn f )z~Norm Layer Factory

Create norm modules by string (to mirror create_act and creat_norm-act fns)

Copyright 2022 Ross Wightman
    N)Type   )	GroupNorm
GroupNorm1	LayerNormLayerNorm2dLayerNormFp32LayerNorm2dFp32RmsNorm	RmsNorm2dRmsNormFp32RmsNorm2dFp32
SimpleNormSimpleNorm2dSimpleNormFp32SimpleNorm2dFp32)FrozenBatchNorm2d	batchnormbatchnorm2dbatchnorm1d	groupnorm
groupnorm1	layernormlayernorm2dlayernormfp32layernorm2dfp32rmsnorm	rmsnorm2drmsnormfp32rmsnorm2dfp32
simplenormsimplenorm2dsimplenormfp32simplenorm2dfp32frozenbatchnorm2dc                 .    [        U 5      nU" U40 UD6nU$ )N)get_norm_layer)
layer_namenum_featureskwargslayerlayer_instances        V/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/timm/layers/create_norm.pycreate_norm_layerr.   6   s!    :&E<262N    c                    U c  g [        U [        [        [        R                  [
        R                  45      (       d   e0 n[        U [
        R                  5      (       a'  UR                  U R                  5        U R                  n [        U [        5      (       a2  U (       d  g U R                  SS5      R                  5       n[        U   n OU n U(       a  [
        R                  " U 40 UD6n U $ )N_ )
isinstancetypestrtypesFunctionType	functoolspartialupdatekeywordsfuncreplacelower	_NORM_MAP)
norm_layernorm_kwargsr(   s      r-   r'   r'   <   s    j4e.@.@)BSBS"TUUUUK *i//00:../__
*c""''R0668
z*

&&zA[A
r/    ) __doc__r8   r6   typingr   torch.nnnnnormr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   torchvision.ops.miscr   dictBatchNorm2dBatchNorm1dr?   items_NORM_TYPESr.   r'   )nms   00r-   <module>rP      s'           3 nn  	
      $         "!" &#$ (%	( '__./.TQq./ 0s   *C