def __init__(self, hidden_size, output_size, batch_size, vocab_size, seq_len):
    super(AttentionDecoder, self).__init__()
    self.hidden_size = hidden_size
    self.output_size = output_size
    self.batch_size = batch_size
    self.seq_len = seq_len
    self.vocab_size = vocab_size
    self.attn = nn.Linear(((hidden_size + output_size) + vocab_size), 1)
    self.lstm = nn.LSTM((hidden_size + vocab_size), output_size)
    self.final = nn.Linear(output_size, vocab_size)
def __init__(self, hidden_size, output_size, batch_size, vocab_size, seq_len):
    super(AttentionDecoder, self).__init__()
    self.hidden_size = hidden_size
    self.output_size = output_size
    self.batch_size = batch_size
    self.seq_len = seq_len
    self.vocab_size = vocab_size
    self.attn = nn.Linear(((hidden_size + output_size) + vocab_size), 1)
    self.lstm = nn.LSTM((hidden_size + vocab_size), output_size)
    self.final = nn.Linear(output_size, vocab_size)