Numpy 多特征CNN分类模型的Keras输入形状失配误差

Numpy 多特征CNN分类模型的Keras输入形状失配误差,numpy,tensorflow,keras,deep-learning,neural-network,Numpy,Tensorflow,Keras,Deep Learning,Neural Network,这是我的密码: model = Sequential() model.add(Conv1D(32, kernel_size=3, activation='relu', input_shape=(14,1))) model.add(MaxPooling1D(pool_size=1)) model.add(Dropout(0.25)) model.add(Flatten()) model.add(Dense(128, activat

这是我的密码:

model = Sequential()
model.add(Conv1D(32, kernel_size=3,
                 activation='relu',
                 input_shape=(14,1)))
model.add(MaxPooling1D(pool_size=1))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(1, activation='softmax'))
model.summary()
model.compile(loss=keras.losses.categorical_crossentropy,
              optimizer=keras.optimizers.Adadelta(),
              metrics=['accuracy'])

model.fit(X_train.values, y_train.values,
          batch_size=4,
          epochs=1,
          verbose=2,
          validation_data=(X_test.values,y_test.values))
错误是:
检查输入时出错:预期conv1d_35_输入为3维,但得到了具有形状的数组(13166,14)

正如其他帖子所建议的,我在输出层之前调整了展平层,但这不起作用

我的
X\u train.values.shape
给出
(13166,14)

有什么建议我应该如何解决这个问题吗?

您需要将
X\u列的值从
(13166,14)
重新设置为
(13166,14,1)
,因为CNN网络的输入形状是
(无,14,1)

这可能会解决您的问题:

X_train.values.reshape([-1,14,1])