【问题标题】:Keras input shape mismatch error for multi-feature CNN classification model多特征 CNN 分类模型的 Keras 输入形状不匹配错误
【发布时间】:2020-10-10 21:28:30
【问题描述】:

这是我的代码:

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))

错误是: Error when checking input: expected conv1d_35_input to have 3 dimensions, but got array with shape (13166, 14)

正如其他帖子所建议的,我在输出层之前使用了 flatten 层进行了调整,但这不起作用。

我的X_train.values.shape 给了(13166, 14) 有什么建议我应该如何解决这个问题?

【问题讨论】:

    标签: numpy tensorflow keras deep-learning neural-network


    【解决方案1】:

    您需要将 X_train.values(13166, 14) 重塑为 (13166, 14, 1),因为 CNN 网络的输入形状是 (None, 14, 1)
    这可能会解决您的问题:

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

    【讨论】:

      猜你喜欢
      • 2020-09-22
      • 2019-01-26
      • 1970-01-01
      • 1970-01-01
      • 2018-08-23
      • 1970-01-01
      • 1970-01-01
      • 2019-10-19
      • 1970-01-01
      相关资源
      最近更新 更多