View source on GitHub

RNN sequence-to-sequence model with tied encoder and decoder parameters.

This model first runs an RNN to encode encoder_inputs into a state vector, and then runs decoder, initialized with the last encoder state, on decoder_inputs. Encoder and decoder use the same RNN cell and share parameters.

encoder_inputs A list of 2D Tensors [batch_size x input_size].
decoder_inputs A list of 2D Tensors [batch_size x input_size].
cell tf.compat.v1.nn.rnn_cell.RNNCell defining the cell function and size.
loop_function If not None, this function will be applied to i-th output in order to generate i+1-th input, and decoder_inputs will be ignored, except for the first element ("GO" symbol), see rnn_decoder for details.
dtype The dtype of the initial state of the rnn cell (default: tf.float32).
scope VariableScope for the created subgraph; default: "tied_rnn_seq2seq".

A tuple of the form (outputs, state), where: outputs: A list of the same length as decoder_inputs of 2D Tensors with shape [batch_size x output_size] containing the generated outputs. state: The state of each decoder cell in each time-step. This is a list with length len(decoder_inputs) -- one item for each time-step. It is a 2D Tensor of shape [batch_size x cell.state_size].