我的Y_train是一键编码的标签矩阵。
我的Y_train的形状为(10, 1000, 3)
,因为我有三种不同的类别。
我的模型定义为:
model = Sequential()
model.add(LSTM(100, input_shape=(1000, 38), return_sequences=False))
model.add(Dense(3, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['acc'])
训练模型时,出现以下错误:
检查目标时出错:预期density_83具有2维, 但是得到了形状为(8,1000,3)的数组
这是因为我的Y_train是3d矩阵,而不是2d矩阵。我能够解决此问题的唯一方法是设置return_sequences=True
,但不确定是否会影响我的LSTM输出。
这是处理分类标签的正确方法吗?通过将return_sequences=True
设置为LSTM的参数?
换句话说,可以在Softmax层之前返回return_sequences吗?
谢谢!