作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个这种形状的序列输入:(6000, 64, 100, 50)
6000
只是样本序列的数量。每个序列的长度都是 64
。
我计划使用 Keras 将此输入拟合到 LSTM 中。
我这样设置我的输入:
input = Input(shape=(64, 100, 50))
这给了我一个输入形状 (?, 64, 100, 50)
但是,当我像这样将 input
放入我的 LSTM 时:
x = LSTM(256, return_sequences=True)(input)
我收到这个错误:
Input 0 is incompatible with layer lstm_37: expected ndim=3, found ndim=4
如果我的输入形状类似于 (?, 64, 100)
,这会起作用,但当我有第 4 维时就不行了。
这是否意味着 LSTM 只能接受 3 维的输入?如何使用 Keras 将 4 维或更高维的输入输入 LSTM?
最佳答案
你也可以考虑 TimeDistributed(LSTM(...))
inp = Input(shape=(64, 100, 50))
x = TimeDistributed(LSTM(256, return_sequences=True))(inp)
model = Model(inp, x)
model.compile('adam', 'mse')
model.summary()
关于python - 如何将 4 维输入输入 LSTM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47410239/
我是一名优秀的程序员,十分优秀!