<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def decode_seq(self, inputs, states, valid_length=None):
 """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 """

        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