Модель Keras Assessment () и Forex_Classes () дают противоречивые результаты - PullRequest
0 голосов
/ 05 ноября 2018

Я некоторое время работал с VGG16 от Keras, и после точной настройки моего собственного набора данных из 4 классов тренировка, кажется, идет хорошо, точность наборов обучения и проверки повысилась, и в конце даже оценка с использованием model.evaluate() дал хорошую точность данных испытаний. Я попробовал confusion_matrix, и он также показал хорошие результаты классификации. Для подтверждения я попытался предсказать изображения из моего набора данных, используя следующее:

im = cv2.resize(frame,(image_size, image_size), interpolation = cv2.INTER_AREA)

#convert the image pixels to a numpy array
framer = img_to_array(im)             
image = framer.reshape((1, framer.shape[0], framer.shape[1], framer.shape[2]))

# prepare the image for the VGG model
image = preprocess_input(image)  

label = FLOW1_model.predict_classes(image, verbose=0)

Я загрузил кадры потока только для 1 класса (класс 0), но только около 30% изображений были классифицированы правильно, в другом классе (класс 1) это была 50% правильная классификация. Учитывая, что точность превысила 85%, когда я тренировался, а также запутанная матрица, показывающая очень хорошие результаты, я нахожу это очень ненормальным. Я просмотрел все возможные причины в Интернете, но не смог найти, что пошло не так ... Есть ли известная проблема, объясняющая эту разницу в результатах?

Редактировать:

Я в основном загружаю Keras vgg без top, добавляю свой собственный классификатор и компилирую модель следующим образом:

# Compile the model method 2
sgd = SGD(lr=0.00001, decay = 1e-6, momentum=0.9, nesterov=True)
model.compile(optimizer=sgd, loss='categorical_crossentropy', metrics=['accuracy'])

1 Ответ

0 голосов
/ 06 ноября 2018

Насколько я знаю, вы не можете использовать метод преломления_классов () в случае вывода нескольких классов. Вы уже пробовали с:

FLOW1_model.predict(image, verbose=0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...