CommencerCommencer gratuitement

Deuxième partie : Compréhension des modèles GRU

Vous allez maintenant découvrir comment utiliser les modèles Keras pour accepter des lots d'entrées de taille arbitraire. La possibilité d'accepter des lots de taille arbitraire est importante pour de nombreuses raisons. Par exemple, cela vous permet de définir un seul modèle Keras et d'expérimenter différentes tailles de lots pendant la phase d'entraînement du modèle, sans avoir à modifier quoi que ce soit dans le modèle.

Pour cet exercice, les fichiers keras et numpy (sous le nom np) ont déjà été importés.

Cet exercice fait partie du cours

Traduction automatique avec Keras

Afficher le cours

Instructions

  • Définissez une couche d'entrée qui accepte un lot de données de taille arbitraire ayant une longueur de séquence de 3 et une taille d'entrée de 4.
  • Définissez une couche GRU avec 10 unités cachées qui consomme l'entrée précédente et produit une sortie.
  • Définissez un modèle appelé « model » qui prend la couche d'entrée comme entrée et produit la sortie de la couche GRU comme sortie. N'oubliez pas que vous pouvez utiliser la syntaxe keras.models.Model(<argument>=<value>) pour définir un modèle.
  • Veuillez prédire les résultats du modèle pour x1 et x2.

Exercice interactif pratique

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

# Define an input layer
inp = keras.layers.____(____=(____))
# Define a GRU layer that takes in the input
gru_out = keras.layers.____(____)(____)
# Define a model that outputs the GRU output
____ = keras.models.____(inputs=____, outputs=____)

x1 = np.random.normal(size=(2,3,4))
x2 = np.random.normal(size=(5,3,4))

# Get the output of the model and print the result
y1 = ____.____(____)
y2 = ____.____(____)
print("shape (y1) = ", y1.shape, " shape (y2) = ", y2.shape)
Modifier et exécuter le code