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

时间:2019-04-16 17:36:24

标签: 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"..

1 个答案:

答案 0 :(得分:0)

您可以使用两种方法来做到这一点:

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

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

    New_Model.summary()

    Prediction = New_Model.predict(...)

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

使用Docker映像安装Tensorflow服务

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

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

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

有关TF服务的客户文件代码,请参见this link,有关TF服务的更多信息,请参见this Guide,有关端对端示例的信息this Tutorial