o
    ߥi                     @   sD   d dl Z d dlmZ G dd dejZdd Zedkr e  dS dS )    Nc                       s(   e Zd ZdZ fddZdd Z  ZS )FeedForwardz(
    Positional feed forward layer.
    c                    sT   t t|   || _|| _tt||t | _	t||| _
tj|d| _d S )N)p)superr   __init__
hidden_dim	inner_dimnn
SequentialLinearGELUlinear_hidden
linear_outDropoutdropout_layer)selfr   r   dropout	__class__ c/home/ubuntu/.local/lib/python3.10/site-packages/modelscope/models/nlp/space/modules/feedforward.pyr      s   zFeedForward.__init__c                 C   s"   |  |}| |}| |}|S )N)r   r   r   )r   xoutr   r   r   forward   s   


zFeedForward.forward)__name__
__module____qualname____doc__r   r   __classcell__r   r   r   r   r      s    r   c                  C   sH   dd l } tddd}| jdddd}t|}||}t| d S )Nr   
      g      ?      float32)numpyr   randomrandastypetorchtensorprint)npmodelinpr   r   r   r   main   s   
r-   __main__)r'   torch.nnr   Moduler   r-   r   r   r   r   r   <module>   s   

