我试图按照本教程介绍如何转换Keras H5 Model zu ProtoBuff并使用Tensorflow Serve进行转换:
https://towardsdatascience.com/deploying-keras-models-using-tensorflow-serving-and-flask-508ba00f1037
该教程在网络上的许多其他资源中都使用了“tf.saved_model.simple_save”,该名称现已弃用并删除(2019年3月)。
使用freeze_session将h5转换为pb,如下所示:
How to export Keras .h5 to tensorflow .pb?
似乎错过了一个“serv”标签,因为tensorflow_model_server输出:Loading servable: {name: ImageClassifier version: 1} failed: Not found: Could not find meta graph def matching supplied tags: { serve }. To inspect available tag-sets in the SavedModel, please use the SavedModel CLI: saved_model_cli
使用save_model_cli进行了检查,没有标签。
现在如何使h5模型可在tensorflow_server中使用?
最佳答案
注意:适用于TF 2.0+
我假设您在model.h5
中拥有Keras模型。
首先,只需使用tensorflow的Keras实现加载模型:
from tensorflow import keras
model = keras.models.load_model('model.h5')
然后,只需导出一个SavedModel
keras.experimental.export_saved_model(model, 'path_to_saved_model')
最后,应用您名义上要进行的任何转换,将其从
SavedModel
转换为.pb
推理文件(例如:卡住,优化推理等)您可以在TF的official guide for saving and serializing models in TF 2.0中获得更多详细信息和完整示例
关于tensorflow - Keras h5将于2019年在Tensorflow上服?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55303156/