o
    %ݫi                     @   s.   d Z ddlZddlZG dd dejjjZdS )zKVanilla Neural Network for simple tests.

Authors
* Elena Rastorgueva 2020
    Nc                       s,   e Zd ZdZejjddf fdd	Z  ZS )	VanillaNNaI  A simple vanilla Deep Neural Network.

    Arguments
    ---------
    input_shape : tuple
        Expected shape of the input tensors.
    activation : torch class
        A class used for constructing the activation layers.
    dnn_blocks : int
        The number of linear neural blocks to include.
    dnn_neurons : int
        The number of neurons in the linear layers.

    Example
    -------
    >>> inputs = torch.rand([10, 120, 60])
    >>> model = VanillaNN(input_shape=inputs.shape)
    >>> outputs = model(inputs)
    >>> outputs.shape
    torch.Size([10, 120, 512])
       i   c                    sH   t  j|d t|D ]}| jtjjj|ddd | j| dd qd S )N)input_shapeTlinear)	n_neuronsbias
layer_nameact)r   )super__init__rangeappendsbnnetr   Linear)selfr   
activation
dnn_blocksdnn_neuronsblock_index	__class__ V/home/ubuntu/.local/lib/python3.10/site-packages/speechbrain/lobes/models/VanillaNN.pyr   #   s   zVanillaNN.__init__)	__name__
__module____qualname____doc__torchnn	LeakyReLUr   __classcell__r   r   r   r   r      s    r   )r   r   speechbrainr   r   
containers
Sequentialr   r   r   r   r   <module>   s    