ValueError:检查输入时出错:预期lstm_1_input具有3个维,但数组的形状为(321,1)

时间:2019-07-08 05:30:32

标签: python keras lstm recurrent-neural-network

我正在使用具有不同阵列形状的数据集(例如499902x16、328942x16、289301x16) 我正在以下模型上对其进行训练:

    model.add(LSTM((64),input_shape(None,16), return_sequences=True))
    model.add(LSTM((64),return_sequences=False))

    model.add(Dense(64))
    model.add(Activation('relu'))
    model.add(Dropout(0.5))
    model.add(Dense(1))
    model.add(Activation('sigmoid'))

    model.compile(loss='binary_crossentropy', optimizer='adam', metrics['accuracy'])
    model=build_model()
    model.fit(X_train, y_train, batch_size=batch_size, epochs=epochs, shuffle=False)`

但是出现以下错误:

    Error when checking input: expected lstm_1_input to have 3 dimensions, but got array with shape (321, 1)

我的训练数据的形状应该是(321,None,16),但是当我显示它时,我得到的X_train.shape是(321,)

此外,由于无法使用一种热编码来生成数组,因此无法对序列进行零填充。 在这种情况下我该怎么办?

谢谢!

0 个答案:

没有答案