Путаница в возвращении модели Keras - PullRequest
0 голосов
/ 31 мая 2019

Я сохранил и загрузил модель классификации тензора Кераса.При обучении этой модели я просто обращал внимание на точность и теперь то, что на самом деле возвращал model.predict.Теперь, когда я пытаюсь протестировать развертывание этой модели, я нахожу путаницу в том, что на самом деле работает model.predict.

Это проблема двоичной классификации для распознавания изображений.

Ниже приведена функция, которая берет кодированное в base64 изображение, декодирует его и передает его в модель:

def dapply(input):

    def stringToRGB(base64_string):
        imgdata = base64.b64decode(str(base64_string))
        image = Image.open(BytesIO(imgdata))
        return cv2.cvtColor(np.array(image), cv2.IMREAD_GRAYSCALE)

    array = stringToRGB(input)

    new_array = cv2.resize(array, (125, 125))
    x = np.array(new_array).reshape(-1, 125, 125, 1)

    pred = model.predict_classes(x)

    return pred

Я запускаю два экземпляра.Один с каждым классом:

#Class 0
dapply(image_n)

Возвращает:

array([[1],
       [0],
       [1],
       [1]])


#Class 1
dapply(image)

Возвращает

array([[1],
       [1],
       [1],
       [1]])

Я ожидал 1 число (либо 0, либо 1),Кто-нибудь может объяснить, что я на самом деле вижу?

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