
    Pi                     @    d dl Z d dl mZ  G d dej                  ZdS )    N)nnc                   6     e Zd Zddedef fdZd Zd Z xZS )GemmaRMSNormư>dimepsc                     t                                                       || _        t          j        t          j        |                    | _        d S )N)super__init__r   r   	Parametertorchzerosscale)selfr   r   	__class__s      s/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/torchtune/models/gemma/rms_norm.pyr   zGemmaRMSNorm.__init__   s?    \%+c"2"233


    c                     |t          j        |                    d                              dd          | j        z             z  S )N   T)keepdim)r   rsqrtpowmeanr   )r   xs     r   _normzGemmaRMSNorm._norm   s8    5;quuQxx}}R}>>IJJJJr   c                     |                      |                                          }|d| j                                        z   z  }|                    |          S )Ng      ?)r   floatr   type_as)r   r   outputs      r   forwardzGemmaRMSNorm.forward   sL    AGGII&& 3!1!1!3!334~~a   r   )r   )	__name__
__module____qualname__intr   r   r   r!   __classcell__)r   s   @r   r   r      sq        4 4C 4e 4 4 4 4 4 4
K K K! ! ! ! ! ! !r   r   )r   r   Moduler    r   r   <module>r)      sX          ! ! ! ! !29 ! ! ! ! !r   