for t, word in enumerate(d): decoder_targets_one_hot[i, t, word] = 1 # ================================= encoder_inputs = Input(shape=(None, max_input_len)) encoder = GRU(latent_dim, return_state=True) encoder_outputs, state_h = encoder(encoder_inputs) decoder_inputs = Input(shape=(None, max_out_len)) decoder_gru = GRU(latent_dim, return_sequences=True) decoder_outputs = decoder_gru(decoder_inputs, initial_state=state_h) decoder_dense = Dense(max_out_len, activation='softmax') decoder_outputs = decoder_dense(decoder_outputs) model = Model([encoder_inputs, decoder_inputs], decoder_outputs) model.Flatten() # ================================================ model.compile(optimizer='rmsprop', loss='categorical_crossentropy') from keras.utils import plot_model plot_model(model, to_file='model_GRU.png', show_shapes=True, show_layer_names=True) history = model.fit([encoder_input_sequences, decoder_input_sequences], decoder_targets_one_hot, batch_size=BATCH_SIZE, epochs=EPOCHS, validation_split=0.2) # =============================================