
    Ng                        d Z ddlmZmZmZ ddlT ddlT ddlmZm	Z	 d e
ej        j                  v Zd e
ej        j                  v Zd e
ej        j                  v Zd	 e
ej        j                  v Z ed!i derej        ned
erej        ned	erej        nedej        dej        dej        dej        dej        dej        dededede de!derej"        ne#derej$        ne%de&Z' eerej        ne(erej        ne(erej        ne)erej"        ne*erej$        ne+e,          Z-e-e'fZ.e.D ]TZ/e/0                    de/1                    d                     e/0                    de/1                    d                     U ed!i derej2        ne3d
erej2        ne3d	erej4        ne4dej5        dej6        dej7        dej8        de9dej:        dej;        de<de=de>de?de@derejA        neBderejC        neDdeEdejF        ZG eerej2        neHerej2        neHerej4        neIerejA        neJerejC        neKeL          ZMeMeGfZNeND ]TZ/e/0                    de/1                    d                     e/0                    de/1                    d                     Ud"deeeOf         fdZPd"deeejQ                 eOf         fdZRd#deeejQ                 eOf         fd ZSdS )$zF Activation Factory
Hacked together by / Copyright 2020 Ross Wightman
    )UnionCallableType   )*)is_exportableis_scriptablesilu	hardswishhardsigmoidmishswishrelurelu6
leaky_relueluceluselugelu	gelu_tanh
quick_gelusigmoidtanhhard_sigmoid
hard_swish	hard_mish)r
   r   r   r   r   r   preluidentitynamec                     | sdS t          | t                    r| S |                                 } t                      s$t	                      s| t
          v rt
          |          S t          |          S )z Activation Function Factory
    Fetching activation fns by name with this function allows export or torch script friendly
    functions to be returned dynamically based on current config.
    N)
isinstancer   lowerr   r	   
_ACT_FN_ME_ACT_FN_DEFAULTr   s    R/var/www/html/ai-engine/env/lib/python3.11/site-packages/timm/layers/create_act.py
get_act_fnr'   [   so    
  t$!! ::<<DOO $} $ :d##4      c                     | dS t          | t                    s| S | sdS |                                 } t                      s$t	                      s| t
          v rt
          |          S t          |          S )z Activation Layer Factory
    Fetching activation layers by name with this function allows export or torch script friendly
    functions to be returned dynamically based on current config.
    N)r!   strr"   r   r	   _ACT_LAYER_ME_ACT_LAYER_DEFAULTr%   s    r&   get_act_layerr-   m   sw    
 |tdC    t::<<DOO '} '=   &&d##r(   Nc                     t          |           }|d S | |di |S 	  |dd|i|S # t          $ r  |di |cY S w xY w)Ninplace )r-   	TypeError)r   r/   kwargs	act_layers       r&   create_act_layerr4      s    d##Ity""6"""#y333F333 # # #y""6"""""#s   	) >>r0   )r   )N)T__doc__typingr   r   r   activationsactivations_meconfigr   r	   dirtorchnn
functional	_has_silu_has_hardswish_has_hardsigmoid	_has_mishdictFr
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r$   swish_memish_mehard_sigmoid_mehard_swish_mehard_mish_mer#   _ACT_FNSa
setdefaultgetSiLUSwishMishReLUReLU6	LeakyReLUELUPReLUCELUSELUGELUGELUTanh	QuickGELUSigmoidTanhHardsigmoidHardSigmoid	Hardswish	HardSwishHardMishIdentityr,   SwishMeMishMeHardSigmoidMeHardSwishMe
HardMishMer+   _ACT_LAYERSr*   r'   Moduler-   r4   r0   r(   r&   <module>ri      s/    ) ( ( ( ( ( ( ( ( (         0 0 0 0 0 0 0 0
 cc%(-...	EH$7 8 88 CC(;$<$<< cc%(-...	 $   	'%
(!&&5 	&$ 
	
 '' || 	
 
 
 
 i z G 
 #3D  -<q{{*!" i#( T	*(
+!&&8	)'"2G,?q{{-  
 (	 3 3ALLn 5 5666LLaeeL112222 T   	(5
)"''E 	'4 
	
 (( || 	 % 
 
 
 h y G 
  $4D!"  .<r||9#$ h%& [[' , 	*7
+"''G	)6#3F->r||;   01	 3 3ALLn 5 5666LLaeeL112222! !U8S=) ! ! ! !$$ $d29os23 $ $ $ $&
# 
#5bi#!56 
# 
# 
# 
# 
# 
#r(   