o
    …wÖi†  ã                   @   sR   d dl Z d dlmZ e jjdd„ ƒZdd„ Zede jde jfd	d
„ƒZdd„ Z	dS )é    N)Ú	jit_fuserc                 C   s*   d|  dt  d|  dd|  |    ¡  S )zOpenAI's gelu implementation.g      à?g      ð?gQ6Ô3Eˆé?g÷Hmâä¦?)ÚtorchÚtanh©Úx© r   ú_/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/nemo/collections/llm/fn/activation.pyÚ	gelu_impl   s   *r	   c                 C   s   t | ƒS )N)r	   r   r   r   r   Úopenai_gelu   s   r
   r   Úreturnc                 C   s   | t  d|  ¡ S )Ng¬Zd;û?)r   Úsigmoidr   r   r   r   Ú
quick_gelu   s   r   c                 C   s   t  t jj | ¡d¡S )z!Squared ReLU activation function.é   )r   ÚpowÚnnÚ
functionalÚrelur   r   r   r   Úsquared_relu#   s   r   )
r   Úmegatron.core.jitr   ÚjitÚscriptr	   r
   ÚTensorr   r   r   r   r   r   Ú<module>   s   
