【问题标题】:What is making my model predicting the wrong value when running on my laptop and colab?是什么让我的模型在笔记本电脑和 colab 上运行时预测错误值?
【发布时间】:2022-01-19 06:06:55
【问题描述】:

我已将 TF 模型导出为 .h5 格式,以便将其用于我的项目。在 Colab 上运行和测试时,它可以完美预测,但是当我尝试在我的机器(笔记本电脑)中预测 .h5 格式模型时,它没有预测到正确的模型,因此它不像以前在 Colab 中那样工作。我试图在网上浏览,但似乎没有找到答案或线索。有谁知道问题出在哪里?

示例 输入图片:golden_retriever的狗类型

(COLAB) -> 预测golden_retriever(正确)

model = tf.keras.models.load_model("model_mac.h5", custom_objects={"KerasLayer": hub.KerasLayer})
custom_images_paths = ["golde.jpeg"]
custom_data = create_data_batches(custom_images_paths, test_data=True)
custom_preds = model.predict(custom_data)
custom_pred_labels = [get_pred_label(custom_preds[i]) for i in range(len(custom_preds))]

(我的机器/笔记本电脑) -> 预测 norwegian_elkhound(其他看起来不像 golden_retriever 的东西。(错误)

model = tf.keras.models.load_model("model_mac.h5", custom_objects {"KerasLayer":hub.KerasLayer})

img = "golde.jpeg"

custom_data = create_data_batches([img], test_data=True)
custom_preds = model.predict(custom_data)
custom_pred_labels = [get_pred_label(custom_preds[i]) for i in range(len(custom_preds))]

提前致谢。

【问题讨论】:

    标签: python tensorflow machine-learning keras deep-learning


    【解决方案1】:

    我会检查模型预测代码每一步的输出。

    当您在数据集的测试拆分上调用 model.evaluate() 时,您是否能够验证您的模型获得相同的结果?

    这是我首先要做的事情之一。

    否则,您可能需要查看文档中处理保存到 .h5 的部分:https://www.tensorflow.org/tutorials/keras/save_and_load#hdf5_format

    请参阅“保存自定义对象”部分,您是否在本地计算机上定义了 hub.KerasLayer?也许这与它有关。

    【讨论】:

    • 您好丹尼尔,感谢您的帮助。我已经记录了预测自定义图像之前和之后的每一个操作。我还重新评估了测试数据集上的模型,没有任何问题发生,模型看起来很好,准确性很好,我还检查了您提供的 .h5 格式文档,它仍然预测错误的输出。我尝试使用 SavedModel 格式,但它仍然预测错误的输出。
    猜你喜欢
    • 2011-01-18
    • 2018-10-14
    • 2019-01-13
    • 2016-02-18
    • 1970-01-01
    • 1970-01-01
    • 2021-06-22
    • 2020-09-27
    • 1970-01-01
    相关资源
    最近更新 更多