如何使用tensorflow服务?

问题描述 投票:2回答:1

我正在学习使用Tensorflow服务,但我有一个很很难找到的例子包括#2。

我正在使用TensorFlow网站花例子。训练部分是成功的,有一个很难展开。

我跑了服务器,如下所示:

docker run -p 8501:8501 --mount type=bind,source=C:\tmp\saved_models,target=/models/flowers -e MODEL_NAME=flowers -t tensorflow/serving &

要查看所有SignatureDef,我用下面的

saved_model_cli show --dir c:\tmp\saved_models\1 --all

该反应是

MetaGraphDef with tag-set: 'serve' contains the following SignatureDefs:

signature_def['serving_default']:
  The given SavedModel SignatureDef contains the following input(s):
    inputs['image'] tensor_info:
        dtype: DT_STRING
        shape: ()
        name: DecodeJpeg/contents:0
  The given SavedModel SignatureDef contains the following output(s):
    outputs['classes'] tensor_info:
        dtype: DT_STRING
        shape: (5)
        name: Const:0
    outputs['prediction'] tensor_info:
        dtype: DT_FLOAT
        shape: (-1, 5)
        name: final_result:0
  Method name is: tensorflow/serving/predict

正如我所看到的here它想拥有“方法名称是:tensorflow /服务/分类”

为什么在我的例子不见了?

我的REST API请求如下:

http://localhost:8501/v1/models/flowers/versions/1:classify

身体 :

{
  "signature_name": "serving_default",
  "flowers": [
    {
      "image": { "b64": "c:/Users/pubud/OneDrive/Pictures/bird.jpg=" },
      "rose": "flower"
    }
  ]
}

我得到的错误是:

{
    "error": "Expected classification signature method_name to be tensorflow/serving/classify. Was: tensorflow/serving/predict"
}

任何帮助非常感谢。

tensorflow tensorflow-serving
1个回答
0
投票

你REST风格的URL指定...:classify,这是什么在signature_def [“serving_default”]不同 - predict

尝试改变REST风格的URL是...:predict,然后参照说明书here的请求的JSON体。

以下是有关SignatureDefs的更多信息:https://www.tensorflow.org/serving/signature_defs

祝好运!

© www.soinside.com 2019 - 2024. All rights reserved.