
    kh                        d dl  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mZmZ d dlmZ d dlmZ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mZmZ d d
lm Z m!Z!m"Z"m#Z#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/m0Z0 d dl1m2Z2m3Z3m4Z4 d dl5m6Z6m5Z5 d dl7m7Z7 d dl8m9Z9m:Z: d dl;m<Z<m=Z=m<Z< d dl>m?Z?m@Z@mAZAmBZB d dlCmDZDmEZEmFZFmGZG d dlHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQ d dlRmSZSmTZTmUZUmVZV d dlWmXZXmYZY d dlZm[Z[m\Z\m]Z]m^Z^m_Z_ d dl`maZa d dlbmcZc d dldmeZemfZf d dlgmhZhmiZimjZjmkZkmlZlmmZm d dlnmoZompZp d dlqmrZr d dlsmtZtmuZu d dlvmwZw d d lxmyZy d d!lzm{Z{m|Z|m}Z}m~Z~mZmZmZ d d"lmZmZ d d#lmZmZmZmZmZmZmZmZ d d$lmZmZmZmZmZmZmZmZmZmZ d d%lmZmZmZ d d&lmZ d d'lmZmZmZmZ d d(lmZ d d)lmZmZ d d*lmZmZ d d+lmZmZmZmZmZmZmZmZ d d,lmZmZmZmZmZmZmZmZmZmZmZmZ d d-lmZmZmZmZ d d.lmZ d d/lmZmZ d d0lmZmZ d d1lmZ d d2lmZmZ d d3lmZmZmZmZ d d4lmZmZ d d5lmZmZ d d6lmZmZ d d7lmZmZmZmZmZmZ y8)9   )*)adaptive_avgmax_pool2dselect_adaptive_pool2dAdaptiveAvgMaxPool2dSelectAdaptivePool2d)	AttentionAttentionRopemaybe_add_mask)MultiQueryAttention2dAttention2dMultiQueryAttentionV2)AttentionPoolLatent)AttentionPool2dRotAttentionPool2dRotaryEmbedding)
BlurPool2d	create_aa)create_classifierClassifierHeadNormMlpClassifierHeadClNormMlpClassifierHead)
CondConv2dget_condconv_initializer)is_exportableis_scriptable	is_no_jituse_fused_attnset_exportableset_scriptable
set_no_jitset_layer_configset_fused_attnset_reentrant_ckptuse_reentrant_ckpt)
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_layerr2   )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)Formatget_channel_dimget_spatial_dimnchw_tonhwc_to)GatherExcite)GlobalContext)ndgridmeshgrid)	to_ntuple	to_2tuple	to_3tuple	to_4tuplemake_divisibleextend_tuple)HybridEmbedHybridEmbedWithSize)
InplaceAbn)
LayerScaleLayerScale2d)Linear)MixedConv2d)MlpGluMlpGatedMlpSwiGLUSwiGLUPackedConvMlpGlobalResponseNormMlp)NonLocalAttnBatNonLocalAttn)	GroupNorm
GroupNorm1	LayerNormLayerNorm2dRmsNorm	RmsNorm2d
SimpleNormSimpleNorm2d)
BatchNormAct2dGroupNormActGroupNorm1ActLayerNormActLayerNormAct2dSyncBatchNormActconvert_sync_batchnormFrozenBatchNormAct2dfreeze_batch_norm_2dunfreeze_batch_norm_2d)get_paddingget_same_paddingpad_same)PatchDropout)
PatchEmbedPatchEmbedWithSizePatchEmbedInterpolatorresample_patch_embed)global_pool_nlc)AvgPool2dSamecreate_pool2d)resample_abs_pos_embedresample_abs_pos_embed_nhwc)	RelPosMlp
RelPosBiasRelPosBiasTfgen_relative_position_indexgen_relative_log_coordsresize_rel_pos_bias_table resize_rel_pos_bias_table_simpleresize_rel_pos_bias_table_levit)pixel_freq_bands
freq_bandsbuild_sincos2d_pos_embedbuild_fourier_pos_embedbuild_rotary_pos_embedapply_rot_embedapply_rot_embed_catapply_rot_embed_listapply_keep_indices_nlcFourierEmbedr   RotaryEmbeddingCat)SEModuleSqueezeExciteEffectiveSEModuleEffectiveSqueezeExcite)SelectiveKernel)SeparableConv2dSeparableConvNormAct)SpaceToDepthDepthToSpace)	SplitAttn)SplitBatchNorm2dconvert_splitbn_model)	StdConv2dStdConv2dSameScaledStdConv2dScaledStdConv2dSame)TestTimePoolHeadapply_test_time_pool)_assert_float_to_int)	LayerTypePadType)trunc_normal_trunc_normal_tf_variance_scaling_lecun_normal_init_weight_jaxinit_weight_vitN)activationsadaptive_avgmax_poolr   r   r   r   	attentionr   r	   r
   attention2dr   r   r   attention_poolr   attention_pool2dr   r   r   	blur_poolr   r   
classifierr   r   r   r   cond_conv2dr   r   configr   r   r   r   r   r   r    r!   r"   r#   r$   r&   r%   conv_bn_actr'   r(   r)   
create_actr*   r+   r,   r.   r-   r/   create_normr0   r1   create_norm_actr2   r3   dropr4   r5   r6   r7   ecar8   r9   r:   r;   evo_normr<   r=   r>   r?   r@   rA   rB   rC   rD   	fast_normrE   rF   rG   rH   filter_response_normrI   rJ   formatrK   rL   rM   rN   rO   gather_exciterP   global_contextrQ   gridrR   rS   helpersrT   rU   rV   rW   rX   rY   hybrid_embedrZ   r[   inplace_abnr\   layer_scaler]   r^   linearr_   mixed_conv2dr`   mlpra   rb   rc   rd   re   rf   rg   non_local_attnrh   ri   normrj   rk   rl   rm   rn   ro   rp   rq   norm_actrr   rs   rt   ru   rv   rw   rx   ry   rz   r{   paddingr|   r}   r~   patch_dropoutr   patch_embedr   r   r   r   pool1dr   pool2d_samer   r   	pos_embedr   r   pos_embed_relr   r   r   r   r   r   r   r   pos_embed_sincosr   r   r   r   r   r   r   r   r   r   r   squeeze_exciter   r   r   r   selective_kernelr   separable_convr   r   space_to_depthr   r   
split_attnr   split_batchnormr   r   std_convr   r   r   r   test_time_poolr   r   trace_utilsr   r   typingr   r   weight_initr   r   r   r   r   r        P/var/www/teggl/fontify/venv/lib/python3.12/site-packages/timm/layers/__init__.py<module>r      sO   _ _ ? ? R R / R R , i i =+ + + + 1 > > C C . ( : Z Z A A Z ZT T T T T R N N ' ) " ] ] : # 1  % \ \ \ 9 m m mq q q < < ' e e # 5 Ja a a6 6 6 6 _ ^ - A 6 ! D T T B / &% % %r   