code: def decode_seq(self, inputs, states, valid_length=None):
          
          outputs, states, additional_outputs =\
              self.decoder.decode_seq(inputs=self.tgt_embed(inputs),
                                      states=states,
                                      valid_length=valid_length)
          outputs = self.tgt_proj(outputs)
          return outputs, states, additional_outputs
docs: Decode given the input sequence.
  
          Parameters
          ----------
          inputs : NDArray
          states : list of NDArrays
          valid_length : NDArray or None, default None
  
          Returns
          -------
          output : NDArray
              The output of the decoder. Shape is (batch_size, length, tgt_word_num)
          states: list
              The new states of the decoder
          additional_outputs : list
              Additional outputs of the decoder, e.g, the attention weights