Zacznij terazZacznij za darmo

Układanie warstw RNN w stos

Głębokie modele RNN mogą mieć od kilkudziesięciu do kilkuset warstw, aby osiągać wyniki na poziomie stanu techniki.

W tym ćwiczeniu zobaczysz, jak tworzyć głębokie modele RNN, układając warstwy komórek LSTM jedna po drugiej.

W tym celu ustaw argument return_sequences na True w pierwszych dwóch warstwach LSTM, a na False w ostatniej warstwie LSTM.

Aby tworzyć modele z jeszcze większą liczbą warstw, możesz dodawać je kolejno jedna po drugiej lub napisać funkcję, która używa metody .add() wewnątrz pętli i dodaje wiele warstw za pomocą zaledwie kilku linii kodu.

To ćwiczenie jest częścią kursu

Rekurencyjne sieci neuronowe (RNN) do modelowania języka w Keras

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj warstwę LSTM.
  • Ustaw zwracanie sekwencji w dwóch pierwszych warstwach i wyłącz je w ostatniej warstwie LSTM.
  • Wczytaj wstępnie wytrenowane wagi.
  • Wyświetl uzyskaną stratę i dokładność.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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)))
Edytuj i uruchom kod