ValueError:层 MLP_Model 需要 1 个输入,但它收到 460 个输入张量。 (在密集层)

时间:2021-05-04 08:34:49

标签: python keras

我在 Keras 中的 MLP 模型有问题。

def create_model():
    MLP_model = tf.keras.Sequential(name='MLP_Model')
    MLP_model.add(tf.keras.layers.Input(shape=(208,)))
    MLP_model.add(tf.keras.layers.Dense(256, activation="relu"))
    MLP_model.add(tf.keras.layers.Dropout(0.3))
    MLP_model.add(tf.keras.layers.Dense(128, activation="relu"))
    MLP_model.add(tf.keras.layers.Dropout(0.3))
    MLP_model.add(tf.keras.layers.Dense(64, activation="relu"))
    MLP_model.add(tf.keras.layers.Dropout(0.3))
    MLP_model.add(tf.keras.layers.Dense(32, activation="relu"))
    MLP_model.add(tf.keras.layers.Dropout(0.3))
    MLP_model.add(tf.keras.layers.Dense(16))
    MLP_model.compile(optimizer='adam', loss='mse', metrics=['mae', 'mse', 'accuracy'])
    MLP_model.summary()
    return MLP_model

print(np.shape(x_train))
print(np.shape(y_train))
stage2_model = create_model()
stage2_model.fit(x_train, y_train, validation_split=0.3, epochs=1, batch_size=18, verbose=1)
test_scores = stage2_model.evaluate(x_test, y_test, verbose=0)
print("Test Loss : ", test_scores[0])
print("Test Accuracy : ", test_scores[1])

这是我的代码。 print(np.shape(x_train))print(np.shape(y_train)) 结果的结果如

(460, 208)
(460, 16)

其中460是数据的大小,20816分别是x和y的大小。 (它们是一维数组,绝对不是二维数组)

抛出的错误是

ValueError: Layer MLP_Model expects 1 input(s), but it received 460 input tensors.

我尝试了很多数据形状的修改,但还是不行。

我应该如何修改它?

提前致谢!

0 个答案:

没有答案