我试图按照本教程关于如何转换Keras H5模型zu ProtoBuff并使用Tensorflow服务提供它:https://towardsdatascience.com/deploying-keras-models-using-tensorflow-serving-and-flask-508ba00f1037
该教程在Web上的许多其他资源中使用“tf.saved_model.simple_save”,现在已被弃用并删除(2019年3月)。使用freeze_session将h5转换为pb,如下所示:How to export Keras .h5 to tensorflow .pb?
似乎错过了“serve”标签,因为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
用saved_model_cli检查它,没有标签。
现在有什么方法可以在tensorflow_server中使h5模型可用?
注意:这适用于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
推理文件(例如:冻结,优化推理等)
你可以在TFs qazxsw poi中获得更多细节和完整的例子