Kom igångKom igång gratis

Stapla RNN-lager

Djupa RNN-modeller kan ha tiotals till hundratals lager för att uppnå topprestanda.

I den här övningen får du en inblick i hur man skapar djupa RNN-modeller genom att stapla lager av LSTM-celler efter varandra.

För att göra detta sätter du argumentet return_sequences till True i de första två LSTM-lagren och till False i det sista LSTM-lagret.

Vill du skapa modeller med ännu fler lager kan du fortsätta lägga till dem ett efter ett, eller skapa en funktion som använder metoden .add() inuti en loop för att lägga till många lager med bara några rader kod.

Den här övningen är en del av kursen

Återkommande neurala nätverk (RNN) för språkmodellering med Keras

Visa kurs

Övningsinstruktioner

  • Importera LSTM-lagret.
  • Returnera sekvenserna i de första två lagren och returnera inte sekvenserna i det sista LSTM-lagret.
  • Läs in de förtränade vikterna.
  • Skriv ut den förlust och noggrannhet som erhölls.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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)))
Redigera och kör kod