
    RЦi              	          S r SSKJrJrJrJr  SSK7  SSK7  SSKJ	r	J
r
  SSKJr  S\" \R                  R                  5      ;   rS\" \R                  R                  5      ;   rS	\" \R                  R                  5      ;   rS
\" \R                  R                  5      ;   r\" S#0 S\(       a  \R,                  O\_S\(       a  \R,                  O\_S
\(       a  \R0                  O\_S\R2                  _S\R4                  _S\R6                  _S\R8                  _S\R:                  _S\R<                  _S\_S\ _S\!_S\"_S\#_S\(       a  \RH                  O\%_S\(       a  \RL                  O\'_S\(_6r)\" \(       a  \R,                  O\*\(       a  \R,                  O\*\(       a  \R0                  O\+\(       a  \RH                  O\,\(       a  \RL                  O\-\.S9r/\/\)4r0\0 HE  r1\1Re                  S	\1Rg                  S5      5        \1Re                  S\1Rg                  S5      5        MG     \" S#0 S\(       a  \Rh                  O\5_S\(       a  \Rh                  O\5_S
\(       a  \Rl                  O\6_S\Rn                  _S\Rp                  _S\Rr                  _S\Rt                  _S\;_S\Rx                  _S\Rz                  _S\>_S\?_S\@_S\A_S\B_S\(       a  \R                  O\D_S\(       a  \R                  O\F_S\G_S\R                  _6rI\" \(       a  \Rh                  O\J\(       a  \Rh                  O\J\(       a  \Rl                  O\K\(       a  \R                  O\L\(       a  \R                  O\M\NS9rO\O\I4rP\P HE  r1\1Re                  S	\1Rg                  S5      5        \1Re                  S\1Rg                  S5      5        MG     S$S\\   4S jjrQS$S\\   4S jjrR S%S\\   S!\\S   4S" jjrTg )&zEActivation Factory
Hacked together by / Copyright 2020 Ross Wightman
    )CallableOptionalTypeUnion   )*)is_exportableis_scriptable)	LayerType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                     U (       d  g[        U [        5      (       a  U $ U R                  5       n [        5       (       d"  [	        5       (       d  U [
        ;   a	  [
        U    $ [        U    $ )zActivation 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    U/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/timm/layers/create_act.py
get_act_fnr)   \   sT    
 $!!::<DOO} :d##4      c                     U c  g[        U [        5      (       d  U $ U (       d  gU R                  5       n [        5       (       d"  [	        5       (       d  U [
        ;   a	  [
        U    $ [        U    $ )zActivation 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/   n   sZ    
 |dC  ::<DOO}=  &&d##r*   Ninplacec                 |    [        U 5      nUc  g Uc  U" S0 UD6$  U" SSU0UD6$ ! [         a    U" S0 UD6s $ f = f)Nr0    )r/   	TypeError)r!   r0   kwargs	act_layers       r(   create_act_layerr6      s_    
 d#I"6""#33F33 #"6""#s   	& ;;r2   )r   )N)U__doc__typingr   r   r   r   activationsactivations_meconfigr	   r
   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/   boolr6   r2   r*   r(   <module>rk      s   3 2   0 
 c%((--..	EHH$7$7 88 C(;(;$<< c%((--..	  %!&&5 $ 
	
 '' || 	
 
 
 
    
 #3  -q{{*!" #( (!&&8'"2,q{{-
 (	ALLn 56LLaeeL12 

  5"''E 4 
	
 (( || 	  
 
 
    
  $4!"  .r||9#$ %& [[' , 7"''G6#3-r||; 01	ALLn 56LLaeeL12 

!Xi( !$$+ $* #'#y!#$#r*   