def lstm_seq2seq_internal_attention_bid_encoder(inputs, targets, hparams,
                                                train):
  """LSTM seq2seq model with attention, main step used for training."""
  with tf.variable_scope("lstm_seq2seq_attention_bid_encoder"):
    inputs_length = common_layers.length_from_embedding(inputs)
    # Flatten inputs.
    inputs = common_layers.flatten4d3d(inputs)
    # LSTM encoder.
    encoder_outputs, final_encoder_state = lstm_bid_encoder(
        inputs, inputs_length, hparams, train, "encoder")
    # LSTM decoder with attention
    shifted_targets = common_layers.shift_right(targets)
    # Add 1 to account for the padding added to the left from shift_right
    targets_length = common_layers.length_from_embedding(shifted_targets) + 1
    hparams_decoder = copy.copy(hparams)
    hparams_decoder.hidden_size = 2 * hparams.hidden_size
    decoder_outputs = lstm_attention_decoder(
        common_layers.flatten4d3d(shifted_targets), hparams_decoder, train,
        "decoder", final_encoder_state, encoder_outputs,
        inputs_length, targets_length)
    return tf.expand_dims(decoder_outputs, axis=2)
def lstm_seq2seq_internal_attention_bid_encoder ( inputs , targets , hparams , train ) : with tf . variable_scope ( "lstm_seq2seq_attention_bid_encoder" ) : inputs_length = common_layers . length_from_embedding ( inputs ) inputs = common_layers . flatten4d3d ( inputs ) encoder_outputs , final_encoder_state = lstm_bid_encoder ( inputs , inputs_length , hparams , train , "encoder" ) shifted_targets = common_layers . shift_right ( targets ) targets_length = common_layers . length_from_embedding ( shifted_targets ) + 1 hparams_decoder = copy . copy ( hparams ) hparams_decoder . hidden_size = 2 * hparams . hidden_size decoder_outputs = lstm_attention_decoder ( common_layers . flatten4d3d ( shifted_targets ) , hparams_decoder , train , "decoder" , final_encoder_state , encoder_outputs , inputs_length , targets_length ) return tf . expand_dims ( decoder_outputs , axis = 2 )
LSTM seq2seq model with attention, main step used for training.