keras 库 cnn-lstm 代码
时间: 2023-12-13 12:00:18 浏览: 122
Keras是一个开源的深度学习库,它提供了一种高级的神经网络API,可以方便地构建和训练深度学习模型。CNN-LSTM是一种结合了卷积神经网络(CNN)和长短期记忆网络(LSTM)的神经网络架构,可以用于处理时间序列数据和图像数据。
在Keras中,你可以使用以下代码构建一个简单的CNN-LSTM模型:
```python
from keras.models import Sequential
from keras.layers import Conv2D, MaxPooling2D, LSTM, TimeDistributed, Flatten, Dense
# 定义CNN部分
cnn_model = Sequential()
cnn_model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(100, 100, 3)))
cnn_model.add(MaxPooling2D((2, 2)))
# 定义LSTM部分
lstm_model = Sequential()
lstm_model.add(TimeDistributed(cnn_model, input_shape=(5, 100, 100, 3)))
lstm_model.add(LSTM(50, activation='relu'))
# 添加全连接层
lstm_model.add(Dense(1, activation='sigmoid'))
# 编译模型
lstm_model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
```
上面的代码首先定义了一个CNN模型,并添加了一个3x3的卷积层和一个最大池化层。然后,定义了一个LSTM模型,通过TimeDistributed将CNN模型应用到序列数据上,并添加了一个LSTM层和一个全连接层。最后,编译了模型,使用了adam优化器和二元交叉熵损失函数。
通过这样的代码,你就可以在Keras中构建一个简单的CNN-LSTM模型,用于处理序列数据和图像数据的深度学习任务。
阅读全文