我正在使用Keras的功能API来构建简单的顺序神经网络。这是X_train和y_train_encoded(具有10个类的单次热编码y_train)的形状。
X_train.shape
(60000, 28, 28)
y_train_encoded
(60000, 10)
我指定了体系结构,对其进行了编译,并对其进行了如下训练:
input = keras.layers.Input(shape=(28,28))
hidden1 = keras.layers.Dense(128, activation="relu")(input)
hidden2 = keras.layers.Dense(128, activation="relu")(hidden1)
hidden3 = keras.layers.Dense(28, activation="relu")(hidden2)
output = keras.layers.Dense(10, activation="softmax")(hidden3)
model = keras.models.Model(inputs=[input], outputs=[output])
model.compile(loss="categorical_crossentropy",
optimizer="adam",
metrics=["accuracy"])
history=model.fit(X_train, y_train_encoded, epochs=20, validation_split=0.2)
我在下面收到ValueError。
ValueError: Shapes (32, 10) and (32, 28, 10) are incompatible
我想知道你们是否可以指出我要去哪里错了。我真的很感谢您的帮助。
添加Flatten()
图层:
input = keras.layers.Input(shape=(28,28))
flatten = keras.layers.Flatten()(input)
hidden1 = keras.layers.Dense(128, activation="relu")(flatten)
hidden2 = keras.layers.Dense(128, activation="relu")(hidden1)
hidden3 = keras.layers.Dense(28, activation="relu")(hidden2)
output = keras.layers.Dense(10, activation="softmax")(hidden3)
model = keras.models.Model(inputs=[input], outputs=[output])
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句