Плотный слой, состоящий из одной единицы, - это не то, что мы используем в случае мультиклассовой классификации;сначала вы должны убедиться, что ваши Y
данные закодированы в горячем режиме - если нет, вы можете сделать это, используя служебные функции Keras:
num_classes=9
Y_train = keras.utils.to_categorical(Y_train, num_classes)
, а затем измените свой последний слой на:
model.add(Dense(num_classes))
model.add(Activation('softmax'))
Кроме того, если у вас нет особых причин использовать категориальную потерю шарнира, я бы предложил начать с loss='categorical_crossentropy'
в вашей компиляции модели.
Тем не менее, ваша модель кажется слишком простойи вы можете попробовать добавить еще несколько слоев ...