使用tensorflow LSTM模型训练多输入两输出

时间:2021-03-30 10:25:53

标签: python dataframe tensorflow keras lstm

我有一些数据需要训练。 我的输入形状是 (5519, 30, 26) 输出形状为 (5519, 1, 2)

需要输出两个dim

我使用 LSTM 模型进行训练

model = Sequential()
model.add(Bidirectional(LSTM(64, input_shape=(shape[1],shape[2]),return_sequences=False),input_shape=(shape[1],shape[2]), merge_mode='sum'))
model.add(Dropout(0.5))
model.add(Dense(32,name='FC1'))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(8))
model.add(Activation('softmax'))
model.compile(loss="sparse_categorical_crossentropy" ,optimizer=RMSprop(),metrics = ['accuracy'])
model.summary()
return model

但它返回

tensorflow.python.framework.errors_impl.InvalidArgumentError:  logits and labels must have the same first dimension, got logits shape [32,8] and labels shape [64]
         [[node sparse_categorical_crossentropy/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits (defined at new_LSTM.py:123) ]] [Op:__inference_train_function_5673]

Function call stack:
train_function

我不知道为什么。 有人可以帮忙吗~

0 个答案:

没有答案