【问题标题】:How to deploy a TensorFlow model that is saved using export_saved_model如何部署使用 export_saved_model 保存的 TensorFlow 模型
【发布时间】:2019-04-16 17:36:23
【问题描述】:

我有一个 .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"..

【问题讨论】:

    标签: python tensorflow


    【解决方案1】:

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

    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
    

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

    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
    

    请参阅this link 了解 TF 服务的客户端文件代码,this Guide 了解有关 TF 服务的更多信息,this Tutorial 了解端到端示例。

    【讨论】:

      猜你喜欢
      • 2017-11-09
      • 1970-01-01
      • 1970-01-01
      • 2021-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-28
      • 1970-01-01
      相关资源
      最近更新 更多