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 epochs sur les données d’entraînement. Pour rappel, pour entraîner un modèle dans Keras, vous utilisez simplement la méthode .fit() sur les données d’entraînement (X, y) avec le paramètre epochs. Par exemple :
model.fit(X_train, y_train, epochs=40)
Cet exercice fait partie du cours
Réseaux de neurones récurrents (RNN) pour la modélisation du langage avec Keras
Instructions
- Ajoutez une couche
LSTMqui renvoie les séquences. - Ajoutez une couche
LSTMqui ne renvoie pas les séquences. - Ajoutez la couche de sortie avec
n_vocabunités. - Affichez le résumé du modèle.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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.____