Почему у меня маленькая точность? - PullRequest
0 голосов
/ 08 мая 2019

У меня есть код для обучения набора данных MNIST для работы над проектом номера дома с видом на улицу, но когда я запускаю код, я получаю acc = 0,1

Импорт библиотек и модулей

import numpy as np
np.random.seed(123)  # for reproducibility
from keras import backend as K
K.set_image_dim_ordering('th')
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout, Activation, Flatten
from tensorflow.keras.layers import Convolution2D, MaxPooling2D
from keras.utils import np_utils
from keras.datasets import mnist
from keras.models import load_model
from keras.utils import CustomObjectScope
from keras.initializers import glorot_uniform

4.Загрузка предварительно перемешанных данных MNIST в наборы поездов и тестов

(X_train, Y_train), (X_test, Y_test) = mnist.load_data()

X_train = keras.utils.normalize(X_train,axis=1)
X_test = keras.utils.normalize(X_test, axis=1)

7.Определить модель архитектуры

model = Sequential()



model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dense(128, activation='relu'))
model.add(Dense(10, activation='softmax'))

8.Скомпилируйте модель

model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

9.Подходит модель по тренировочным данным

model.fit(np.array(X_train), np.array(Y_train), batch_size=32, epochs=3,verbose=1)          

Ответы [ 2 ]

0 голосов
/ 08 мая 2019

Есть несколько причин, почему у вас есть такая точность.

  1. Ваши данные не нормализованы правильно.
  2. Вы пытаетесь распознать изображение с 3-мя плотными слоями в 3 эпохах, но это не сработает.
  3. В вашем коде нет оптимизации.

Посмотрите на https://keras.io/examples/mnist_cnn/. Это документация Keras по работе с данными MNIST с использованием нейронной сети.

0 голосов
/ 08 мая 2019

На шаге 4 правильно ли вы нормализуете данные?Если я правильно помню, X_train имеет форму batch, width, height.Я действительно не знаю, что вы хотели бы нормализовать, но axis=1 не кажется, что это должно быть там.Я думаю, что вы должны нормализации.

Если у вас все еще низкая точность, попробуйте тренировать больше эпох, чем 3. 3 эпохи не так много.

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