python - 数据整形(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),因为我认为会发生。
非常感谢。
解决方案
推荐阅读
- sql-server - 将多个订购的商品放在一条记录中
- c# - 为什么 VS 要求不使用内联代码?
- angular - 如何在Angular4中关闭浏览器窗口之前调用API
- python - 你会如何在 Tensorflow 中做 ReduceLROnPlateau?
- linux-kernel - kprobe_events 获取参数在 ARM 上不起作用
- regex - Perl 正则表达式替换与组
- javascript - javascript toISOString 返回不正确的日期问题
- codeigniter - 如何使用 Codeigniter 和 Websocket 在不刷新页面的情况下获取最新记录
- html - 如何设计具有 3 个正方形 (1:1) 和 1 个矩形(剩余高度)的 HTML 页面
- javascript - 使用javascript输入文本区域与div中的文本比较