随着时间的推移,我尝试对系统的状态进行分类。
我有 100 个训练样本,包含超过 1218 个时间步长和 33 个输入参数。
所以我有 X_train.shape = [100, 1218, 33]。
我使用深度学习库 Keras 来预测输出 Y = 0 或 1。
model = Sequential()
model.add(LSTM(4, input_shape=(1218 , 33), return_sequences=True))
model.add(TimeDistributed(Dense(1, activation = 'softmax')))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
不幸的是,我有以下错误,我不知道如何解决:
ValueError:检查目标时出错:预期 time_distributed_3 具有 3 个维度,但得到形状为 (100, 1) 的数组
有人知道如何解决这个问题吗?
问候。
您提供的模型期望序列的每个时间步长都有一个目标。如果您对整个序列只有一个目标(和目标的错误消息形状建议),则需要通过以下方式模型修改:设置return_sequences
到false
并取出TimeDistributed
包装:
model = Sequential()
model.add(LSTM(4, input_shape=(1218 , 33), return_sequences=False))
model.add(Dense(1, activation = 'softmax'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句