Keras:随时间的分类

Keras:随时间的分类,keras,shape,lstm,Keras,Shape,Lstm,我试图对系统的状态进行分类 我有100个训练样本,包含超过1218个时间步33个输入参数 所以我有X_train.shape=[1001218133] 使用深度学习lib库预测输出y=0或1。 model = Sequential() model.add(LSTM(4, input_shape=(1218 , 33), return_sequences=True)) model.add(TimeDistributed(Dense(1, activation = 'softmax'))) mode

我试图对系统的状态进行分类

我有100个训练样本,包含超过1218个时间步33个输入参数

所以我有X_train.shape=[1001218133]

使用深度学习lib库预测输出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:检查目标时出错:预期时间\u分布\u 3为3维,但得到了形状为(100,1)的数组

有人知道如何解决这个问题吗


注意。

您提供的模型期望序列的每个时间步都有一个目标。如果整个序列只有一个目标(并且错误消息中目标的形状表明这一点),则需要通过以下方式修改模型:将
return\u 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'])

您是否对每个时间步都有一个目标值,或者对整个序列只有一个目标值?谢谢您的回答。我觉得我很累,因为我没有注意到错误是关于目标的,而不是关于输入的。我明天试试。