a
    yµÿf  ã                   @   s.   d Z ddlZddlmZ G dd„ dejƒZdS )zActivation modules.é    Nc                       s<   e Zd ZdZd	ddœ‡ fdd„Zejejdœdd„Z‡  ZS )
ÚAGLUzKUnified activation function module from https://github.com/kostas1515/AGLU.N)Úreturnc              	      s\   t ƒ  ¡  tjdd| _t tj tj	d||d¡¡| _
t tj tj	d||d¡¡| _dS )z+Initialize the Unified activation function.g      ð¿)Úbetaé   )ÚdeviceÚdtypeN)ÚsuperÚ__init__ÚnnZSoftplusÚactÚ	ParameterÚinitZuniform_ÚtorchÚemptyÚlambdÚkappa)Úselfr   r   ©Ú	__class__© ú]/var/www/html/django/DPS/env/lib/python3.9/site-packages/ultralytics/nn/modules/activation.pyr	      s    
 zAGLU.__init__)Úxr   c              	   C   s8   t j| jdd}t  d| |  | j| t  |¡ ¡ ¡S )z<Compute the forward pass of the Unified activation function.g-Cëâ6?)Úminr   )r   Úclampr   Úexpr   r   Úlog)r   r   Zlamr   r   r   Úforward   s    zAGLU.forward)NN)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r	   r   ZTensorr   Ú__classcell__r   r   r   r   r      s   r   )r    r   Ztorch.nnr
   ÚModuler   r   r   r   r   Ú<module>   s   