python - 如何在 Keras 中保存经过训练的模型以便在应用程序中使用它?

标签 python tensorflow machine-learning keras machine-learning-model

我在 Keras 中训练了一个模型,并以不同的方式保存它,例如;

model.save("filename")

model.to_json()  
model.save_weights("filename")

但是当我在另一个程序中加载经过训练的模型来进行预测时,我得到的结果与测试结果非常不同。

为什么会发生这种情况以及我该如何处理?

最佳答案

保存如下:

     model.save('model.h5')
     model_json = model.to_json()
     with open("model.json", "w") as json_file:
         json_file.write(model_json)

然后,为了有效地将其加载到应用程序中,请将其设置为如下所示的全局变量,以便它不会一次又一次加载:

    def load_model():

        global model

        json_file = open('model.json', 'r')
        model_json = json_file.read()
        model = model_from_json(model_json)
        model.load_weights("model.h5")
        model._make_predict_function()

关于python - 如何在 Keras 中保存经过训练的模型以便在应用程序中使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51628450/

相关文章:

python - Scikit-learn 教程出现折旧错误,如何更新?

python - 在函数中定义字典时Python中的内存泄漏

python - 如何通过 AJAX 向 Flask 发送数据?

python - 从 Python smtpd 调试服务器到文件/数据库的管道

python - 卷积输出的 Tensorflow reshape 给出 TypeError

python - 特征列在 tensorflow 中如何工作?

python - 在不运行 eval 的情况下获取可迭代的张量

python - 使用 scikit 时 scipy.sparse 矩阵的缩放问题

machine-learning - WEKA 使用类值来解决决策树?

python - 列出 python 中 lambda 函数的参数