繁体   English   中英

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

[英]How to save a trained model in Keras to use it in an application?

我在 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()

您可以尝试将模型保存为 .h5 格式

from keras.models import model_from_json   
# serialize model to JSON
model_json = parallel_model.to_json()
with open("model.json", "w") as json_file:
    json_file.write(model_json)
# serialize weights to HDF5
model.save_weights("model.h5")
print("Saved model to disk")

另外,你可以这样做

保存模型

 model.save('clasification_model.h5')

读取模型

from keras.models import load_model
classifier = load_model('clasification_model.h5')

预言

res = classifier.predict_classes(x, batch_size=32, verbose=1)

分类器.predict_classes 与分类器.predict

keras 顺序模型 API

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM