首页 > 解决方案 > Keras模型回归的困惑

问题描述

我已经保存并加载了一个 keras 张量流分类模型。在训练这个模型时,我只关注准确性以及现在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 个数字(要么 要么01。谁能解释我实际看到的?

标签: pythonkeras

解决方案


推荐阅读