首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >LSTM层不接受CNN层输出的输入形状

LSTM层不接受CNN层输出的输入形状
EN

Stack Overflow用户
提问于 2020-05-14 22:59:02
回答 1查看 1.1K关注 0票数 1

我试图创建一个CNN + LSTM网络,但LSTM层不接受输入形状。有什么我能做的吗?

代码语言:javascript
运行
复制
model = Sequential()
model.add(Conv2D(128, (2,2), padding = 'same', input_shape=(30, 216, 1)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Dropout(0.2))

model.add(Conv2D(256, (2,2), padding = 'same'))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Dropout(0.2))

model.add(LSTM(512, input_shape = (7, 54, 256,)))
model.add(Flatten())
model.add(Dense(7, activation='softmax'))

ValueError: lstm_21层的输入0与该层不兼容:预期的ndim=3,found ndim=4。收到的完整形状: None,7,54,256

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-14 23:29:44

Keras中的LSTM层期望这种格式作为输入:

代码语言:javascript
运行
复制
inputs: A 3D tensor with shape [batch, timesteps, feature].

因此,您不能直接通过非递归层。首先,在此之前对该层进行Flatten(),并将该层包装为一个TimeDistributed层,如下所示:

代码语言:javascript
运行
复制
model.add(TimeDistributed(Flatten()))
model.add(LSTM(8))

这个TimeDistributed层允许将一个层应用到输入的每个时间片。下面是一个充分发挥作用的示例:

代码语言:javascript
运行
复制
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, LSTM, \
    Dense, Flatten, Dropout, MaxPooling2D, Activation, TimeDistributed
import numpy as np

X = np.random.rand(100, 30, 216, 1)
y = np.random.randint(0, 7, 100)

model = Sequential()
model.add(Conv2D(16, (2,2), padding = 'same', input_shape=(30, 216, 1)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Dropout(0.2))

model.add(Conv2D(32, (2,2), padding = 'same'))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Dropout(0.2))
model.add(TimeDistributed(Flatten()))
model.add(LSTM(8))
model.add(Dense(7, activation='softmax'))

model.compile(loss='sparse_categorical_crossentropy', optimizer='adam')
history = model.fit(X, y)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61808828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档