CommencerCommencer gratuitement

Empilement de couches RNN

Les modèles RNN profonds peuvent comporter des dizaines, voire des centaines de couches afin d'obtenir des résultats de pointe.

Dans cet exercice, vous découvrirez comment créer des modèles RNN profonds en empilant des couches de cellules LSTM les unes après les autres.

Pour ce faire, veuillez définir l'argument « return_sequences » sur « True » pour les deux premières couches « LSTM » et sur « False » pour la dernière couche « LSTM ».

Pour créer des modèles comportant encore plus de couches, vous pouvez continuer à les ajouter les unes après les autres ou créer une fonction qui utilise la méthode d'.add() e à l'intérieur d'une boucle afin d'ajouter de nombreuses couches avec seulement quelques lignes de code.

Cet exercice fait partie du cours

Réseaux neuronaux récurrents (RNN) pour la modélisation du langage avec Keras

Afficher le cours

Instructions

  • Veuillez importer la couche « LSTM ».
  • Renvoyez les séquences des deux premières couches et ne renvoyez pas les séquences de la dernière couche LSTM.
  • Chargez les poids pré-entraînés.
  • Veuillez imprimer la perte et la précision obtenues.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Import the LSTM layer
from tensorflow.keras.layers import ____

# Build model
model = Sequential()
model.add(LSTM(units=128, input_shape=(None, 1), return_sequences=____))
model.add(LSTM(units=128, return_sequences=____))
model.add(LSTM(units=128, return_sequences=____))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

# Load pre-trained weights
model.____('lstm_stack_model_weights.h5')

____("Loss: %0.04f\nAccuracy: %0.04f" % tuple(model.evaluate(X_test, y_test, verbose=0)))
Modifier et exécuter le code