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
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)))