Deel 2: GRU-modellen begrijpen
Je gaat nu zien hoe je Keras-modellen kunt gebruiken die batches invoer met een willekeurige grootte accepteren. De mogelijkheid om batches met willekeurige grootte te accepteren is om veel redenen belangrijk. Zo kun je bijvoorbeeld één Keras-model definiëren en tijdens het trainen met verschillende batchgroottes experimenteren, zonder iets in het model te hoeven wijzigen.
Voor deze oefening zijn keras en numpy (als np) al geïmporteerd.
Deze oefening maakt deel uit van de cursus
Machine Translation met Keras
Oefeninstructies
- Definieer een invoerlaag die een batch met een willekeurige grootte accepteert met sequentielengte 3 en invoergrootte 4.
- Definieer een GRU-laag met 10 verborgen units die de vorige invoer verwerkt en een output produceert.
- Definieer een Model met de naam
modeldat de invoerlaag als input neemt en de output van de GRU-laag als output geeft. Onthoud dat je de syntaxiskeras.models.Model(<argument>=<value>)kunt gebruiken om een model te definiëren. - Voorspel de modeloutput voor zowel
x1alsx2.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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)