以下是使用 Keras 编写的双层 LSTM 的示例代码:

from keras.models import Sequential
from keras.layers import LSTM, Dense

# 定义 LSTM 网络
model = Sequential()
model.add(LSTM(64, return_sequences=True, input_shape=(timesteps, data_dim))) # 第一层 LSTM
model.add(LSTM(32)) # 第二层 LSTM
model.add(Dense(num_classes, activation='softmax'))

# 编译模型
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

# 训练模型
model.fit(X_train, y_train, batch_size=32, epochs=10, validation_data=(X_test, y_test))

其中,'timesteps' 表示时间步数,'data_dim' 表示每个时间步的特征维度,'num_classes' 表示分类数。在第一层 LSTM 中,设置 'return_sequences=True' 表示返回所有时间步的输出,而在第二层 LSTM 中,默认为 'return_sequences=False',只返回最后一个时间步的输出。最后一层 Dense 层的激活函数设置为 softmax 函数,用于多分类任务。在编译模型时,使用交叉熵损失函数和 Adam 优化器。在训练模型时,使用批处理大小为 32,迭代 10 次,并在验证集上进行验证。


原文地址: https://www.cveoy.top/t/topic/nIw3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录