def __init__(self, input_size, hidden_size, output_size, k, bias=True): super(MRNNFixD, self).__init__() self.k = k self.input_size = input_size self.output_size = output_size self.b_d = Parameter(torch.Tensor(torch.zeros(1, input_size)), requires_grad=True) self.mrnn_cell = layers.MRNNFixDCell(input_size, hidden_size, output_size, k)
def __init__(self, input_size, hidden_size, output_size, k, dropout, bias=True): super(MRNNFixD, self).__init__() self.k = k self.input_size = input_size self.output_size = output_size self.hidden_size = hidden_size self.bd1 = Parameter(torch.Tensor(torch.zeros(1, input_size)), requires_grad=True) self.dropout = nn.Dropout(dropout) self.mrnn_cell_1 = layers.MRNNFixDCell(input_size, hidden_size, hidden_size, k) self.lstm_cell_2 = nn.LSTMCell(hidden_size, hidden_size) self.hidden2output = nn.Linear(hidden_size, output_size)