как получить метки в многоуровневом распознавании лиц - PullRequest
0 голосов
/ 06 мая 2019

Я использовал ImagedataGenerator и flow from directory для обучения модели CNN для задачи и сохранил в файл .h5.Во время прогнозирования отображаются логиты или массив чисел, а не метки.

Мне нужно, чтобы метки отображались во время прогнозирования.

Один из возможных способов, которым я пытался, - переназначить значение каждоговойти на нужную метку или строку, но я думаю, что это может быть утомительной задачей

что я получил:

[[1 0 0]]

что мне нужно: "Стив Роджерс"

1 Ответ

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

Вам нужны строковые метки для прогнозов, которые вы получаете от модели Keras. Это просто, используя np.argmax(x, axis=0 )

Если pred является выводом модели Keras (прогнозы), тогда

import numpy as np

max_indices = np.argmax( pred , axis=1 )

Определите Python list, который имеет метки str. Как,

labels = [ 'NAME1' , 'NAME2' , 'NAME3' ]

Затем мы перебираем массив max_indices и выбираем объекты из labels,

for i in max_indices:
    print( 'Label is {}'.format( labels[i] ) )
...