def __init__(self, input_dim, hidden_dim, dropout=0.0):
        """Initialize params.

        Args:
            input_dim: Dimension of the input vector.
            hidden_dim: Dimension of the hidden layer.
            dropout: Dropout of the network.
        """

        super(ConditionalGRU, self).__init__()
        self.input_dim = input_dim
        self.hidden_dim = hidden_dim

        self.input_weights = nn.Linear(self.input_dim, 3 * self.hidden_dim)
        self.hidden_weights = nn.Linear(self.hidden_dim, 3 * self.hidden_dim)
        self.peep_weights = nn.Linear(self.hidden_dim, 3 * self.hidden_dim)

        self.reset_parameters()
Initialize params.

        Args:
            input_dim: Dimension of the input vector.
            hidden_dim: Dimension of the hidden layer.
            dropout: Dropout of the network.
        
utils_nlp/models/pytorch_modules/conditional_gru.py