如何部署使用 export_saved_model 保存的 TensorFlow 模型

Med*_*020 5 python tensorflow

我有一个 .pbtxt 文件,它是通过 inception_v4 中的 export_saved_model 获得的,但是我无法使用这个 saved_model 进行预测。当我尝试使用加载模型时tf.contrib.predictor.from_saved_model(),出现以下错误:

OSError: Cannot parse file b'/Users/mehdi/Desktop/serving/saved_model.pbtxt': 1:1 :   
Message type "tensorflow.SavedModel" has no field named "node"..
Run Code Online (Sandbox Code Playgroud)

小智 0

您可以使用两种方法来完成此操作:

  1. 通过加载保存的模型并使用加载的模型进行预测

    New_Model = tf.keras.models.load_model("saved_model")

    New_Model.summary()

    Prediction = New_Model.predict(...)

    1. 使用 Tensorflow Serving:在终端中执行以下命令

使用 Docker 镜像安装 Tensorflow Serving

sudo docker pull tensorflow/serving

# Invoke the Tensorflow Model Server
sudo docker run -p 8501:8501 --mount type=bind,source=Path_Of_The_Saved_Model_In_PC,target=/models/saved_model -e MODEL_NAME=saved_model -t tensorflow/serving &

#To get the status of the model
curl http://localhost:8501/v1/models/saved_model

curl -d '{"instances": [1.0, 2.0, 5.0]}' \
    -X POST http://localhost:8501/v1/models/saved_model:predict
Run Code Online (Sandbox Code Playgroud)

如果您有一个图像作为输入,并且想要在客户端文件中对该图像执行一些预处理,则可以使用下面提到的命令来执行此操作:

sudo docker pull tensorflow/serving

sudo docker run -p 8501:8501 --mount type=bind,source=Path_Of_The_Model,target=/models/saved_model -e MODEL_NAME=saved_model -t tensorflow/serving &

python Path/client.py --num_tests=100 --server=localhost:8500
Run Code Online (Sandbox Code Playgroud)

请参阅此链接以获取 TF 服务的客户端文件代码、本指南以获取有关 TF 服务的更多信息以及本教程以了解端到端示例。