Teil 2: GRU-Modelle verstehen
Jetzt zeig ich dir, wie du Keras-Modelle nutzen kannst, um Batches mit beliebig großen Eingaben zu verarbeiten. Die Möglichkeit, Batches beliebiger Größe zu akzeptieren, ist aus vielen Gründen wichtig. So kannst du zum Beispiel ein einziges Keras-Modell festlegen und während des Modelltrainings mit verschiedenen Batchgrößen experimentieren, ohne irgendwas am Modell ändern zu müssen.
Für diese Übung wurden bereits „ keras “ und „ numpy “ (als „ np “) importiert.
Diese Übung ist Teil des Kurses
Maschinelle Übersetzung mit Keras
Anleitung zur Übung
- Definiere eine Eingabeschicht, die einen beliebigen Datenstapel mit einer Sequenzlänge von 3 und einer Eingabegröße von 4 akzeptiert.
- Definiere eine GRU-Schicht mit 10 versteckten Einheiten, die die vorherige Eingabe verarbeitet und eine Ausgabe erzeugt.
- Definiere ein Modell namens „
model“, das die Eingabeschicht als Input nimmt und die Ausgabe der GRU-Schicht als Output liefert. Denk dran, dass du die Syntax „keras.models.Model(<argument>=<value>)“ verwenden kannst, um ein Modell zu definieren. - Sag mal, was das Modell für
x1undx2ausgibt.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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)