Стекування шарів 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)))