LoslegenKostenlos loslegen

RNN-Schichten stapeln

Tiefe RNN-Modelle können Dutzende bis Hunderte von Schichten haben, um top Ergebnisse zu erzielen.

In dieser Übung bekommst du einen Eindruck davon, wie man tiefe RNN-Modelle erstellt, indem man LSTM-Zellen übereinander stapelt.

Dazu musst du das Argument „ return_sequences “ bei den ersten beiden Ebenen „ LSTM “ auf „ True “ und bei der letzten Ebene „ LSTM “ auf „ False “ setzen.

Um Modelle mit noch mehr Ebenen zu erstellen, kannst du einfach eine nach der anderen hinzufügen oder eine Funktion erstellen, die die Methode „ .add() “ in einer Schleife verwendet, um mit wenigen Zeilen Code viele Ebenen hinzuzufügen.

Diese Übung ist Teil des Kurses

Rekursive neuronale Netze (RNNs) für die Sprachmodellierung mit Keras

Kurs anzeigen

Anleitung zur Übung

  • Importiere die Ebene „ LSTM “.
  • Gib die Sequenzen in den ersten beiden Ebenen zurück und lass die Sequenzen in der letzten Ebene „ LSTM “ weg.
  • Lade die schon trainierten Gewichte.
  • Druck die ermittelten Verlust und Genauigkeit aus.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Import the LSTM layer
from tensorflow.keras.layers import ____

# Build model
model = Sequential()
model.add(LSTM(units=128, input_shape=(None, 1), return_sequences=____))
model.add(LSTM(units=128, return_sequences=____))
model.add(LSTM(units=128, return_sequences=____))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

# Load pre-trained weights
model.____('lstm_stack_model_weights.h5')

____("Loss: %0.04f\nAccuracy: %0.04f" % tuple(model.evaluate(X_test, y_test, verbose=0)))
Code bearbeiten und ausführen