
    wi                         d dl Z d dlmc mZ d dl mZ  G d dej                  Z G d dej                  Z G d dej                  Z G d	 d
ej                  Z	 G d dej                  Z
dS )    N)nnc                   &     e Zd Zd fd	Zd Z xZS )HswishTc                 d    t          t          |                                            || _        d S N)superr   __init__inplaceselfr
   	__class__s     p/var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/rapidocr/networks/common.pyr	   zHswish.__init__   s*    fd$$&&&    c                 J    |t          j        |dz   | j                  z  dz  S )N      @r
         @Frelu6r
   r   xs     r   forwardzHswish.forward   s'    171s7DL9999C??r   T__name__
__module____qualname__r	   r   __classcell__r   s   @r   r   r      sS             @ @ @ @ @ @ @r   r   c                   &     e Zd Zd fd	Zd Z xZS )HsigmoidTc                 d    t          t          |                                            || _        d S r   )r   r"   r	   r
   r   s     r   r	   zHsigmoid.__init__   s*    h&&(((r   c                 J    t          j        d|z  dz   | j                  dz  S )Ng333333?r   r   r   r   r   s     r   r   zHsigmoid.forward   s(     wsQw}dl;;;cAAr   r   r   r    s   @r   r"   r"      sS             B B B B B B Br   r"   c                   &     e Zd Zd fd	Zd Z xZS )GELUTc                 d    t          t          |                                            || _        d S r   )r   r&   r	   r
   r   s     r   r	   zGELU.__init__   s*    dD""$$$r   c                 J    t           j        j                            |          S r   )torchr   
functionalgelur   s     r   r   zGELU.forward!   s    x"''***r   r   r   r    s   @r   r&   r&      sL             + + + + + + +r   r&   c                   &     e Zd Zd fd	Zd Z xZS )SwishTc                 d    t          t          |                                            || _        d S r   )r   r-   r	   r
   r   s     r   r	   zSwish.__init__&   s*    eT##%%%r   c                     | j         r)|                    t          j        |                     |S |t          j        |          z  S r   )r
   mul_r)   sigmoidr   s     r   r   zSwish.forward*   sB    < 	(FF5=##$$$Hu}Q''''r   r   r   r    s   @r   r-   r-   %   sL             ( ( ( ( ( ( (r   r-   c                   &     e Zd Zd fd	Zd Z xZS )
ActivationTc                 `   t          t          |                                            |                                }|dk    rt	          j        |          | _        d S |dk    rt	          j        |          | _        d S |dk    rt          |dk    rt          |          | _        d S |dk    s|dk    rt          |          | _        d S |dk    rt	          j        |          | _        d S |d	k    rt          |          | _        d S |d
k    rt          |          | _        d S t          )Nrelur   r   r1   hard_sigmoid
hard_swishhswish	leakyrelur+   swish)r   r3   r	   lowerr   ReLUactReLU6NotImplementedErrorr"   r   	LeakyReLUr&   r-   )r   act_typer
   r   s      r   r	   zActivation.__init__3   s@   j$((***>>##vww///DHHH  x000DHHH""%%'' DHHH %%X)=)=g...DHHH$$|G444DHHHG,,,DHHH  W---DHHH%%r   c                 ,    |                      |          S r   )r=   )r   inputss     r   r   zActivation.forwardK   s    xxr   r   r   r    s   @r   r3   r3   2   sL        & & & & & &0             r   r3   )r)   torch.nn.functionalr   r*   r   Moduler   r"   r&   r-   r3    r   r   <module>rG      s1                  @ @ @ @ @RY @ @ @B B B B Bry B B B+ + + + +29 + + +
( 
( 
( 
( 
(BI 
( 
( 
(                   r   