我在 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
是数据的大小,208
和16
分别是x和y的大小。 (它们是一维数组,绝对不是二维数组)
抛出的错误是
ValueError: Layer MLP_Model expects 1 input(s), but it received 460 input tensors.
我尝试了很多数据形状的修改,但还是不行。
我应该如何修改它?
提前致谢!