Créer le modèle de génération de texte
Dans cet exercice, vous allez définir un modèle de génération de texte avec Keras.
Les variables n_vocab, qui contient la taille du vocabulaire, et input_shape, qui contient la forme des données utilisées pour l'entraînement, sont déjà chargées dans l'environnement. De plus, les poids d'un modèle préentraîné sont disponibles dans le fichier model_weights.h5. Le modèle a été entraîné pendant 40 époques sur les données d'entraînement. Rappelons que pour entraîner un modèle dans Keras, vous utilisez la méthode .fit() sur les données d'entraînement (X, y) et le paramètre epochs. Par exemple :
model.fit(X_train, y_train, epochs=40)
Cette activité fait partie du cours
Réseaux de neurones récurrents (RNN) pour la modélisation du langage avec Keras
Instructions de l’exercice
- Ajouter une couche
LSTMqui retourne les séquences. - Ajouter une couche
LSTMqui ne retourne pas les séquences. - Ajouter la couche de sortie avec
n_vocabunités. - Afficher le résumé du modèle.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Instantiate the model
model = Sequential(name="LSTM model")
# Add two LSTM layers
model.add(____(64, input_shape=input_shape, dropout=0.15, recurrent_dropout=0.15, return_sequences=____, name="Input_layer"))
model.add(____(64, dropout=0.15, recurrent_dropout=0.15, return_sequences=____, name="LSTM_hidden"))
# Add the output layer
model.add(Dense(____, activation='softmax', name="Output_layer"))
# Compile and load weights
model.compile(loss='categorical_crossentropy', optimizer='adam')
model.load_weights('model_weights.h5')
# Summary
model.____