
    kh                     <   d Z ddlmZmZmZ ddl ddl 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j0                  dej2                  dej4                  dej6                  dej8                  dededede de!derejD                  ne#derejH                  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jD                  ne*erejH                  ne+e,      Z-e-e'fZ.e.D ]D  Z/e/ja                  de/jc                  d             e/ja                  de/jc                  d             F  ed!i derejd                  ne3d
erejd                  ne3d	erejh                  ne4dejj                  dejl                  dejn                  dejp                  de9dejt                  dejv                  de<de=de>de?de@derej                  neBderej                  neDdeEdej                  ZG eerejd                  neHerejd                  neHerejh                  neIerej                  neJerej                  neKeL      ZMeMeGfZNeND ]D  Z/e/ja                  de/jc                  d             e/ja                  de/jc                  d             F d"deeeOf   fdZPd"deeej                     eOf   fdZRd#deeej                     eOf   fd ZSy)$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yt        | t              r| S | j                         } 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/teggl/fontify/venv/lib/python3.12/site-packages/timm/layers/create_act.py
get_act_fnr'   [   sM    
 $!::<DO} :d##4      c                     | yt        | t              s| S | sy| j                         } 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   sS    
 |dC ::<DO}=  &&d##r(   Nc                 v    t        |       }|y | |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"6""#33F33 #"6""#s   	$ 88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
 c%((--..	EHH$7$7 88 C(;(;$<< c%((--..	  %!&&5 $ 
	
 '' || 	
 
 
 
    
 #3  -q{{*!" #( (!&&8'"2,q{{-
 (	 3ALLn 56LLaeeL123
  5"''E 4 
	
 (( || 	  
 
 
    
  $4!"  .r||9#$ %& [[' , 7"''G6#3-r||; 01	 3ALLn 56LLaeeL123
!U8S=) !$$d299os23 $&
#5bii#!56 
#r(   