Aan de slagBegin gratis

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

Bekijk cursus

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 model dat de invoerlaag als input neemt en de output van de GRU-laag als output geeft. Onthoud dat je de syntaxis keras.models.Model(<argument>=<value>) kunt gebruiken om een model te definiëren.
  • Voorspel de modeloutput voor zowel x1 als x2.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan 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)
Code bewerken en uitvoeren