如何使用tensorflow服务?

如何使用tensorflow服务?,tensorflow,tensorflow-serving,Tensorflow,Tensorflow Serving,我正在学习使用Tensorflow服务,但我很难找到包括Stackoverflow在内的示例 我在TensorFlow网站上使用花的例子。培训部分是成功的,部署起来很困难 我按如下方式运行服务器: docker run -p 8501:8501 --mount type=bind,source=C:\tmp\saved_models,target=/models/flowers -e MODEL_NAME=flowers -t tensorflow/serving & http://l

我正在学习使用Tensorflow服务,但我很难找到包括Stackoverflow在内的示例

我在TensorFlow网站上使用花的例子。培训部分是成功的,部署起来很困难

我按如下方式运行服务器:

docker run -p 8501:8501 --mount type=bind,source=C:\tmp\saved_models,target=/models/flowers -e MODEL_NAME=flowers -t tensorflow/serving &
http://localhost:8501/v1/models/flowers/versions/1:classify
为了查看所有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
如我所见,假设有“方法名为:tensorflow/service/classify”

为什么在我的示例中缺少它

我的请求如下:

docker run -p 8501:8501 --mount type=bind,source=C:\tmp\saved_models,target=/models/flowers -e MODEL_NAME=flowers -t tensorflow/serving &
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"
}

非常感谢您的帮助

您的RESTful URL指定了
..:classify
,这与签名中的内容不同\u def['service\u default']-
predict

尝试将RESTful URL更改为
…:predict
,然后参考请求json正文的说明

以下是有关SignatureDefs的更多信息:


祝你好运

我的培训目的是使用分类。为什么我错过了?如何将服务器设置为分类?受支持的SignatureDefs由模型输出的定义方式决定,并非每个模型都设计为同时支持这两种类型。classify SignatureDef需要“两个可选的输出张量:类和分数,其中至少一个必须存在。”如果flower模型的输出不符合这些张量,那么它将不支持classify。