Parte 2: comprendere i modelli GRU
Ora vedrai come usare i modelli Keras per accettare batch di input di dimensioni arbitrarie. La capacità di accettare batch di dimensioni arbitrarie è importante per molti motivi. Ad esempio, ti permette di definire un unico modello Keras ed esplorare diverse dimensioni del batch durante l’addestramento del modello, senza dover modificare nulla nel modello.
Per questo esercizio, keras e numpy (come np) sono già stati importati.
Questo esercizio fa parte del corso
Traduzione automatica con Keras
Istruzioni dell'esercizio
- Definisci un livello di input che accetti un batch di dimensioni arbitrarie con lunghezza di sequenza 3 e dimensione dell’input 4.
- Definisci un livello GRU con 10 unità nascoste che consumi l’input precedente e produca un output.
- Definisci un Model chiamato
modelche prenda il livello di input come input e produca come output l’uscita del livello GRU. Ricorda che puoi usare la sintassikeras.models.Model(<argument>=<value>)per definire un modello. - Predici l’output del modello sia per
x1sia perx2.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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)