Ë
    éÓ^jÅ  ã                   ó  — d Z ddlmZmZmZmZ ddl­ ddl­ ddlm	Z	m
Z
 ddl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j0                  ne“dej2                  “dej4                  “dej6                  “dej8                  “dej:                  “dej<                  “de“de “de!“de"“de#“derejH                  ne%“derejL                  ne'“de(“ŽZ) eerej,                  ne*erej,                  ne*erej0                  ne+erejH                  ne,erejL                  ne-e.¬«      Z/e/e)fZ0e0D ]D  Z1e1je                  d	e1jg                  d«      «       e1je                  de1jg                  d«      «       ŒF  ed#i derejh                  ne5“derejh                  ne5“d
erejl                  ne6“dejn                  “dejp                  “dejr                  “dejt                  “de;“dejx                  “dejz                  “de>“de?“de@“deA“deB“derej†                  neD“derejŠ                  neF“deG“dej�                  “ŽZI eerejh                  neJerejh                  neJerejl                  neKerej†                  neLerejŠ                  neMeN¬«      ZOeOeIfZPePD ]D  Z1e1je                  d	e1jg                  d«      «       e1je                  de1jg                  d«      «       ŒF d$dee   fd„ZQd$dee   fd„ZR	 d%dee   d!eeS   fd"„ZTy )&zF Activation 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                 ó¨   — | 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    úa/var/www/ramen.bs-engineer-server.com/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/   n   sS   € ð
 €|ØÜ�dœCÔ àˆÙØØ�:‰:‹<€DÜŒOœ}œØ”=Ñ Ü  Ñ&Ð&Ü˜dÑ#Ð#r*   NÚinplacec                 óv   — t        | «      }|€y |€ |di |¤ŽS 	  |dd|i|¤ŽS # t        $ r  |di |¤ŽcY S w xY w)Nr0   © )r/   Ú	TypeError)r!   r0   ÚkwargsÚ	act_layers       r(   Úcreate_act_layerr6   �   s_   € ô
 ˜dÓ#€IØÐØØ€ÙÑ"˜6Ñ"Ð"ð#ÙÑ3 Ð3¨FÑ3Ð3øÜò #áÑ"˜6Ñ"Ò"ð#ús   š	$ ¤8·8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˜%Ÿ(™(×-Ñ-Ó.Ð.€	Ø¡ E§H¡H×$7Ñ$7Ó 8Ð8€Ø ¡C¨¯©×(;Ñ(;Ó$<Ð<Ð Ø‘c˜%Ÿ(™(×-Ñ-Ó.Ð.€	ñ ò Ùˆ�Š %øðáˆ!�&Š& 5øðñ ˆ�Š $øðð 
�Šð	ð
 �'Š'ðð �|Š|ðð 	
�Šðð 
�Šðð 
�Šðñ 
ðñ ðñ ðñ ðñ 
ðñ #3�—’¸øðñ  -ˆq�{Š{°*øð!ñ" ð#€ñ( Ùˆ�Š (Ùˆ!�&Š& 8Ùˆ�Š 'Ù"2�—’¸Ù,ˆq�{Š{°-Øô€
ð ˜Ð(€Ø	ò 3€AØ‡L�L� §¡ nÓ 5Ô6Ø‡L�L�˜aŸe™e LÓ1Õ2ð3ñ
 ò Ùˆ�Š 5øðáˆ"�'Š' Eøðñ ˆ�Š 4øðð 
�Šð	ð
 �(Š(ðð �|Š|ðð 	�Šðñ ðð 
�Šðð 
�Šðñ 
ðñ ðñ ðñ ðñ 
ðñ  $4�—’¸øð!ñ"  .ˆr�|Š|°9øð#ñ$ ð%ð& �[Š[ð'Ð ñ, Ùˆ�Š 7Ùˆ"�'Š' GÙˆ�Š 6Ù#3�—’¸Ù-ˆr�|Š|°;Øô€ð Ð0Ð1€Ø	ò 3€AØ‡L�L� §¡ nÓ 5Ô6Ø‡L�L�˜aŸe™e LÓ1Õ2ð3ñ
!�X˜iÑ(ó !ñ$$˜ Ñ+ó $ð* #'ñ#Ø�yÑ!ð#à˜$‘ô#r*   