在Keras模型中,我应该如何固定输入大小?

问题描述 投票:0回答:1

我想用keras用MLP实现MNIST,一开始我只用了2层,但是我得到了一个错误:"期望activation_9有3个维度,但是得到了形状为(60000, 10)的数组"。

input_shape = x_train[0].shape
model = Sequential()
model.add(Dense(64,activation='relu',input_shape=input_shape))
model.add(Dense(10))
model.add(Activation('softmax'))
model.compile(loss='categorical_crossentropy',optimizer='adam',metrics=['accuracy'])
mdl=model.fit(x_train, y_train, epochs=5, batch_size=128)

**

keras model mnist softmax mlp
1个回答
0
投票

作为你的第一层,尝试使用。

tf.keras.layers.Flatten()

密集层需要一个一维数组 但图像是二维的。这层将它们平坦化为1维


0
投票

密集期望通常是2-d数据(批处理,_)。所以,你需要使用Flatten(),或者最好使用Conv2D图层与Flatten(),这更适合图像分类任务。

© www.soinside.com 2019 - 2024. All rights reserved.