ПочатиПочніть безкоштовно

Стекування шарів RNN

Глибокі моделі RNN можуть містити десятки або навіть сотні шарів, щоб досягати найкращих результатів.

У цій вправі ви побачите, як створювати глибокі моделі RNN, послідовно накладаючи шари клітинок LSTM один за одним.

Для цього встановіть аргумент return_sequences у значення True для перших двох шарів LSTM і False — для останнього шару LSTM.

Щоб створювати моделі з ще більшою кількістю шарів, ви можете й далі додавати їх один за одним або написати функцію, яка використовує метод .add() у циклі, щоб додати багато шарів кількома рядками коду.

Ця вправа є частиною курсу

Recurrent Neural Networks (RNNs) для моделювання мови з Keras

Переглянути курс

Інструкції до вправи

  • Імпортуйте шар LSTM.
  • Поверніть послідовності в перших двох шарах і не повертайте послідовності в останньому шарі LSTM.
  • Завантажте попередньо навчені ваги.
  • Виведіть отримані значення функції втрат і точності.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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)))
Редагувати та запускати код