§
    x-j÷  ã                  óR   — d dl mZ d dlmZ d dlmZ d dlmZ erd dlmZ 	 ddd„Z	dS )é    )Úannotations)ÚTYPE_CHECKING)Ú_C_ops)Úin_dynamic_or_pir_mode)ÚTensorçñhãˆµøä>Úxr   ÚscaleÚbiasÚepsilonÚfloatÚreturnútuple[Tensor, Tensor, Tensor]c                óP   — t          ¦   «         rt          j        | |||¦  «        S dS )a®  
    Apply Fast LayerNorm kernel.

    Args:
        x (Tensor): the input Tensor..
        scale (Tensor): the weight Tensor to affine output.
        bias (Tensor): the bias Tensor to affine output.
        epsilon (float): a small float number to avoid divide 0.

    Returns:
        y: the Tensor after performing layernorm.
        mean: the mean of input tensor
        invvar: the invert variance(scaling factor) of y
    N)r   r   Úfast_ln)r	   r
   r   r   s       úe/var/www/html/banglarbhumi/venv/lib/python3.11/site-packages/paddle/incubate/nn/functional/fast_ln.pyr   r      s<   € õ( ÑÔð 
ÝŒ~ØØØØñ	
ô 
ð 	
ð
ð 
ó    N)r   )
r	   r   r
   r   r   r   r   r   r   r   )
Ú
__future__r   Útypingr   Úpaddler   Úpaddle.frameworkr   r   r   © r   r   ú<module>r      s‘   ðð #Ð "Ð "Ð "Ð "Ð "à  Ð  Ð  Ð  Ð  Ð  à Ð Ð Ð Ð Ð Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3àð ØÐÐÐÐÐð ð	
ð 
ð 
ð 
ð 
ð 
ð 
r   