Partie 2 : Comprendre les modèles GRU
Vous allez maintenant voir comment utiliser des modèles Keras pour accepter des lots d'entrées de taille arbitraire. Cette capacité est importante pour plusieurs raisons. Par exemple, elle vous permet de définir un seul modèle Keras et d'expérimenter différentes tailles de lot pendant l'entraînement, sans rien changer au modèle.
Pour cet exercice, keras et numpy (comme np) ont déjà été importés.
Cette activité fait partie du cours
Traduction automatique avec Keras
Instructions de l’exercice
- Définissez une couche d'entrée qui accepte un lot de taille arbitraire avec 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é
modelqui prend la couche d'entrée en entrée et produit la sortie de la couche GRU en sortie. Rappelez-vous que vous pouvez utiliser la syntaxekeras.models.Model(<argument>=<value>)pour définir un modèle. - Prédisez la sortie du modèle pour
x1et pourx2.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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)