tensorflow - Keras h5将于2019年在Tensorflow上服?

标签 tensorflow keras tensorflow-serving

我试图按照本教程介绍如何转换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/

相关文章:

python - tensorflow 占位符声明

tensorflow - 如何不在 Tensorflow Keras 中保存模型优化器?

node.js - Tensorflow 服务 grpc 客户端错误 12

tensorflow - 以可提供的格式转换 TensorFlow 模型

Tensorflow - 哪个是真正的检查点文件?

tensorflow - 如何强制自动编码器中的瓶颈产生二进制值?

tensorflow - Keras 中的权重和可训练变量相同吗?

python - 上传图片到google Colab,使用Keras进行分类预测

machine-learning - 无法理解 Keras ConvLSTM2D - 已编辑

python - 使用 Tensorflow 服务的双向流