
    Ng)                     8   d dl T d dlmZmZmZmZ d dlmZmZm	Z	 d dl
mZ d dlmZmZ d dlmZmZ d dlmZmZmZmZmZmZmZ d dlmZmZ d d	lmZmZm Z  d d
l!m"Z"m#Z#m$Z$ d dl%m&Z&m'Z' d dl(m)Z) d dl*m+Z+m,Z, d dl-m.Z.m/Z/m.Z. d dl0m1Z1m2Z2m3Z3m4Z4 d dl5m6Z6m7Z7m8Z8m9Z9 d dl:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZC d dlDmEZEmFZFmGZGmHZH d dlImJZJmKZK d dlLmMZM d dlNmOZO d dlPmQZQmRZRmSZSmTZTmUZUmVZV d dlWmXZX d dlYmZZZ d dl[m\Z\ d dl]m^Z^m_Z_m`Z`maZa d dlbmcZcmdZd d dlemfZfmgZgmhZhmiZi d dljmkZkmlZlmmZm d dlnmoZompZpmqZq d dlrmsZs d d ltmuZumvZv d d!lwmxZxmyZymzZzm{Z{ d d"l|m}Z} d d#l~mZmZ d d$lmZ d d%lmZmZ d d&lmZmZmZmZ d d'lmZmZ d d(lmZmZ d d)lmZmZmZmZ d d*lZ ej        d+e d,e           d*S )-    )*)adaptive_avgmax_pool2dselect_adaptive_pool2dAdaptiveAvgMaxPool2dSelectAdaptivePool2d)AttentionPool2dRotAttentionPool2dRotaryEmbedding)
BlurPool2d)ClassifierHeadcreate_classifier)
CondConv2dget_condconv_initializer)is_exportableis_scriptable	is_no_jitset_exportableset_scriptable
set_no_jitset_layer_config)
Conv2dSameconv2d_same)ConvNormActConvNormActAa	ConvBnAct)create_act_layerget_act_layer
get_act_fn)get_attncreate_attn)create_conv2d)get_norm_layercreate_norm_layer)get_norm_act_layercreate_norm_act_layerr$   )DropBlock2dDropPathdrop_block_2d	drop_path)	EcaModule
CecaModuleEfficientChannelAttnCircularEfficientChannelAttn)	EvoNorm2dB0EvoNorm2dB1EvoNorm2dB2EvoNorm2dS0EvoNorm2dS0aEvoNorm2dS1EvoNorm2dS1aEvoNorm2dS2EvoNorm2dS2a)is_fast_normset_fast_normfast_group_normfast_layer_norm)FilterResponseNormTlu2dFilterResponseNormAct2d)GatherExcite)GlobalContext)	to_ntuple	to_2tuple	to_3tuple	to_4tuplemake_divisibleextend_tuple)
InplaceAbn)Linear)MixedConv2d)MlpGluMlpGatedMlpConvMlp)NonLocalAttnBatNonLocalAttn)	GroupNorm
GroupNorm1	LayerNormLayerNorm2d)BatchNormAct2dGroupNormActconvert_sync_batchnorm)get_paddingget_same_paddingpad_same)
PatchEmbed)AvgPool2dSamecreate_pool2d)SEModuleSqueezeExciteEffectiveSEModuleEffectiveSqueezeExcite)SelectiveKernel)SeparableConv2dSeparableConvNormAct)	SplitAttn)SplitBatchNorm2dconvert_splitbn_model)	StdConv2dStdConv2dSameScaledStdConv2dScaledStdConv2dSame)TestTimePoolHeadapply_test_time_pool)_assert_float_to_int)trunc_normal_trunc_normal_tf_variance_scaling_lecun_normal_NzImporting from z- is deprecated, please import via timm.layers)timm.layers.activations timm.layers.adaptive_avgmax_poolr   r   r   r   timm.layers.attention_pool2dr   r	   r
   timm.layers.blur_poolr   timm.layers.classifierr   r   timm.layers.cond_conv2dr   r   timm.layers.configr   r   r   r   r   r   r   timm.layers.conv2d_samer   r   timm.layers.conv_bn_actr   r   r   timm.layers.create_actr   r   r   timm.layers.create_attnr   r    timm.layers.create_conv2dr!   timm.layers.create_normr"   r#   timm.layers.create_norm_actr$   r%   timm.layers.dropr&   r'   r(   r)   timm.layers.ecar*   r+   r,   r-   timm.layers.evo_normr.   r/   r0   r1   r2   r3   r4   r5   r6   timm.layers.fast_normr7   r8   r9   r:    timm.layers.filter_response_normr;   r<   timm.layers.gather_exciter=   timm.layers.global_contextr>   timm.layers.helpersr?   r@   rA   rB   rC   rD   timm.layers.inplace_abnrE   timm.layers.linearrF   timm.layers.mixed_conv2drG   timm.layers.mlprH   rI   rJ   rK   timm.layers.non_local_attnrL   rM   timm.layers.normrN   rO   rP   rQ   timm.layers.norm_actrR   rS   rT   timm.layers.paddingrU   rV   rW   timm.layers.patch_embedrX   timm.layers.pool2d_samerY   rZ   timm.layers.squeeze_exciter[   r\   r]   r^   timm.layers.selective_kernelr_   timm.layers.separable_convr`   ra   timm.layers.split_attnrb   timm.layers.split_batchnormrc   rd   timm.layers.std_convre   rf   rg   rh   timm.layers.test_time_poolri   rj   timm.layers.trace_utilsrk   rl   timm.layers.weight_initrm   rn   ro   rp   warningswarn__name__FutureWarning     W/var/www/html/ai-engine/env/lib/python3.11/site-packages/timm/models/layers/__init__.py<module>r      s?   % % % %_ _ _ _ _ _ _ _ _ _ _ _ ] ] ] ] ] ] ] ] ] ] , , , , , , D D D D D D D D H H H H H H H H                  ; ; ; ; ; ; ; ; I I I I I I I I I I N N N N N N N N N N 9 9 9 9 9 9 9 9 3 3 3 3 3 3 E E E E E E E E e e e e e e e e e e L L L L L L L L L L L L e e e e e e e e e e e eT T T T T T T T T T T T T T T T T T T T T T _ _ _ _ _ _ _ _ _ _ _ _ ] ] ] ] ] ] ] ] 2 2 2 2 2 2 4 4 4 4 4 4 h h h h h h h h h h h h h h h h . . . . . . % % % % % % 0 0 0 0 0 0 : : : : : : : : : : : : D D D D D D D D J J J J J J J J J J J J U U U U U U U U U U G G G G G G G G G G . . . . . . @ @ @ @ @ @ @ @ i i i i i i i i i i i i 8 8 8 8 8 8 L L L L L L L L , , , , , , O O O O O O O O _ _ _ _ _ _ _ _ _ _ _ _ M M M M M M M M : : : : : : : : e e e e e e e e e e e e  WWWWYf g g g g gr   