U
    ¯Ê¹jh  ã                   @   s,  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m€Z€ d d$l�m‚Z‚ d d%lƒm„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� d d)l�m‘Z‘m’Z’ d d*l“m”Z”m•Z•m–Z–m—Z— d d+l˜Z˜e˜ ™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)ÚSpaceToDepthModule)Ú	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)œZtimm.layers.activationsZ timm.layers.adaptive_avgmax_poolr   r   r   r   Ztimm.layers.attention_pool2dr   r   r	   Ztimm.layers.blur_poolr
   Ztimm.layers.classifierr   r   Ztimm.layers.cond_conv2dr   r   Ztimm.layers.configr   r   r   r   r   r   r   Ztimm.layers.conv2d_samer   r   Ztimm.layers.conv_bn_actr   r   r   Ztimm.layers.create_actr   r   r   Ztimm.layers.create_attnr   r   Ztimm.layers.create_conv2dr    Ztimm.layers.create_normr!   r"   Ztimm.layers.create_norm_actr#   r$   Ztimm.layers.dropr%   r&   r'   r(   Ztimm.layers.ecar)   r*   r+   r,   Ztimm.layers.evo_normr-   r.   r/   r0   r1   r2   r3   r4   r5   Ztimm.layers.fast_normr6   r7   r8   r9   Z timm.layers.filter_response_normr:   r;   Ztimm.layers.gather_exciter<   Ztimm.layers.global_contextr=   Ztimm.layers.helpersr>   r?   r@   rA   rB   rC   Ztimm.layers.inplace_abnrD   Ztimm.layers.linearrE   Ztimm.layers.mixed_conv2drF   Ztimm.layers.mlprG   rH   rI   rJ   Ztimm.layers.non_local_attnrK   rL   Ztimm.layers.normrM   rN   rO   rP   Ztimm.layers.norm_actrQ   rR   rS   Ztimm.layers.paddingrT   rU   rV   Ztimm.layers.patch_embedrW   Ztimm.layers.pool2d_samerX   rY   Ztimm.layers.squeeze_exciterZ   r[   r\   r]   Ztimm.layers.selective_kernelr^   Ztimm.layers.separable_convr_   r`   Ztimm.layers.space_to_depthra   Ztimm.layers.split_attnrb   Ztimm.layers.split_batchnormrc   rd   Ztimm.layers.std_convre   rf   rg   rh   Ztimm.layers.test_time_poolri   rj   Ztimm.layers.trace_utilsrk   rl   Ztimm.layers.weight_initrm   rn   ro   rp   ÚwarningsÚwarnÚ__name__ÚDeprecationWarning© ru   ru   úZ/var/www/html/bwave/python/venv/lib/python3.8/site-packages/timm/models/layers/__init__.pyÚ<module>   sV   $, 