首页 > 解决方案 > 数据整形(11709、25,4435)上的 LSTM 不起作用

问题描述

我有以下类型的数据集:11709 个实例,每个实例有 25 个特征,每个特征包含一个大小为 4435 的热编码向量的数组。标签向量是一个大小为 3 的热编码向量,即我们有 3标签。

我尝试运行以下 lstm:

from keras import layers
from keras.models import Model
from keras.models import Sequential
from keras.layers.core import Dense
from keras.layers import Conv1D, GlobalAveragePooling1D, MaxPooling1D , Dropout, Flatten,Activation,LSTM


model = Sequential()
model.add(Conv1D(filters=64, kernel_size=1, input_shape=(11709, 25)))
model.add(Activation('relu'))
model.add(Conv1D(filters=64, kernel_size=1))
model.add(Activation('relu'))

model.add(LSTM(3, input_shape=(4435, 25)))
model.add(Dense(3))
model.add(Activation('softmax'))


model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
model.summary()
    `

当我运行代码时,它返回以下错误:ValueError:检查目标时出错:预期activation_77 具有形状(3,)但得到的数组具有形状(1,)。

有人有任何线索吗?我看到了很多解决此错误的方法,但没有任何帮助。

当我运行我的 training_set.shape 时,它​​返回 (11709, 25) 而不是 (11709, 25,4435),因为我认为会发生。

非常感谢。

标签: pythonkeraslstm

解决方案


推荐阅读