### Constructor for baseline enc. dec. network.
### Adding the encoder

latent_dimension = 256
encoder_input = Input(shape=(max_length_article, ))
decoder_input = Input(shape=(None, ))

# Encoder
encoder_embedding = embedding_layer_article(encoder_input) 

# GRU 1
encoder_gru_01 = Bidirectional(CuDNNGRU(
    latent_dimension, return_sequences=True, return_state=True))
encoder_output_01, 
encoder_forward_state_01, 
encoder_backward_state_01 = encoder_gru_01(encoder_embedding)
encoder_output_dropout_01 = Dropout(0.3)(encoder_output_01)

# GRU 2
encoder_gru_02 = Bidirectional(CuDNNGRU(
    latent_dimension, return_sequences=True, return_state=True))
encoder_output, 
encoder_forward_state, 
encoder_backward_state = encoder_gru_02(encoder_output_dropout_01)

encoder_state = Concatenate()(
    [encoder_forward_state, encoder_backward_state])