我已经将一个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))]
提前谢谢。
我会检查模型预测代码的每个步骤的输出。
当您在数据集的测试分割上调用model.evaluate()
时,您是否能够验证您的模型得到相同的结果?
这是我尝试做的第一件事。
否则,您可能需要查看文档中与保存到.h5
有关的部分:https://www.tensorflow.org/tutorials/keras/save_and_load#hdf5_format
参见";保存自定义对象"部分,您是否在本地机器上定义了hub.KerasLayer
?也许这与此有关。