开始使用免费开始使用

堆叠 RNN 层

为了达到当前最优的效果,深层 RNN 模型往往包含几十到上百层。

在本练习中,您将通过依次堆叠多层 LSTM 单元,了解如何构建深层 RNN 模型。

为此,请将前两层 LSTMreturn_sequences 参数设为 True,最后一层 LSTM 的该参数设为 False

如果需要更多层,您可以继续按顺序添加,或编写一个函数,在循环中使用 .add() 方法,用少量代码添加多层。

本练习是课程的一部分

使用 Keras 构建语言建模的循环神经网络(RNN)

查看课程

练习说明

  • 导入 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)))
编辑并运行代码