Как я должен исправить размер ввода в модели керас - PullRequest
0 голосов
/ 24 апреля 2020

Я хочу реализовать MNIST с MLP, используя keras, для начала я просто использую 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)

**

Ответы [ 2 ]

0 голосов
/ 26 апреля 2020

Плотный ожидает, как правило, 2-й данные (пакет, _). Поэтому вам нужно использовать Flatten () или лучше использовать слои Conv2D с Flatten (), который лучше подходит для задач классификации изображений.

0 голосов
/ 25 апреля 2020

В качестве первого слоя попробуйте использовать:

tf.keras.layers.Flatten()

Плотному слою требуется одномерный массив, но изображения имеют 2d. Этот слой выравнивает их до 1d

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...