【问题标题】:how should I fix input size in keras model我应该如何在 keras 模型中修复输入大小
【发布时间】:2020-08-07 17:18:38
【问题描述】:

我想使用 keras 实现带有 MLP 的 MNIST,一开始我只使用 2 层,但我得到了错误:“expected 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)

**

【问题讨论】:

  • 只需使用 Flatten()

标签: keras model mnist softmax mlp


【解决方案1】:

作为您的第一层尝试使用:

tf.keras.layers.Flatten()

密集层需要一维数组,但图像是二维的。这一层将它们展平为 1d

【讨论】:

    【解决方案2】:

    Dense 通常需要二维数据(批次,_)。因此,您需要使用 Flatten() 或更好地使用 Conv2D 层和 Flatten(),这更适合图像分类任务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-20
      • 2020-01-10
      • 1970-01-01
      • 2017-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-05
      相关资源
      最近更新 更多