class_docstr: Luong Attention-based Seq2Seq model. Implementation based on https://arxiv.org/pdf/1508.04025.pdf.
  
  Parameters
  ----------
  hidden_size: int
      The hidden size of both encoder and decoder RNN cells
  cell : TensorFlow cell function
      The RNN function cell for your encoder and decoder stack, e.g. tf.keras.layers.GRUCell
  embedding_layer : tl.Layer
      A embedding layer, e.g. tl.layers.Embedding(vocabulary_size=voc_size, embedding_size=emb_dim)
  method : str
      The three alternatives to calculate the attention scores, e.g. "dot", "general" and "concat"
  name : str
      The model name
  
  
  Returns
  -------
      static single layer attention-based Seq2Seq model.
code: def __init__(
      self, hidden_size, embedding_layer, cell, method, name=None
  ):
      super(Seq2seqLuongAttention, self).__init__(name)
      self.enc_layer = Encoder(hidden_size, cell, embedding_layer)
      self.dec_layer = Decoder_Attention(
          hidden_size, cell, embedding_layer, method=method
      )
      self.embedding_layer = embedding_layer
      self.dense_layer = tl.layers.Dense(
          n_units=self.embedding_layer.vocabulary_size,
          in_channels=hidden_size,
      )
      self.method = method
  
imports: import numpy
  import tensorflow
  import tensorlayer
  from tensorlayer.layers import Dense, Dropout, Input
  from tensorlayer.layers.core import Layer
  from tensorlayer.models import Model
label_desc: Use image node_id 1 to create a new Seq2seqLuongAttention object from inherited base classes: Model with example: obj = Seq2seqLuongAttention(hidden_size, embedding_layer, cell, method, name)