LoslegenKostenlos starten

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

<Kurs>Rekursive neuronale Netze (RNNs) für die Sprachmodellierung mit Keras</Kurs>
Kurs ansehen

Übungsanweisungen

  • 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 praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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