如何使用张量流服务?
How to use tensorflow serving?
我正在学习使用 Tensorflow 服务,但我很难在 Whosebug 中找到示例。
我正在使用 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 --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它应该有"Method name is: tensorflow/serving/classify"
为什么我的示例中缺少它?
我的RESTAPI请求如下:
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
,这与 signature_def['serving_default'] - predict
中的不同。
尝试将 RESTful URL 更改为 ...:predict
,然后请参阅 here 说明以获取请求的 json 正文。
以下是有关 SignatureDef 的更多信息:
https://www.tensorflow.org/serving/signature_defs
祝你好运!
我正在学习使用 Tensorflow 服务,但我很难在 Whosebug 中找到示例。
我正在使用 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 --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它应该有"Method name is: tensorflow/serving/classify"
为什么我的示例中缺少它?
我的RESTAPI请求如下:
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
,这与 signature_def['serving_default'] - predict
中的不同。
尝试将 RESTful URL 更改为 ...:predict
,然后请参阅 here 说明以获取请求的 json 正文。
以下是有关 SignatureDef 的更多信息: https://www.tensorflow.org/serving/signature_defs
祝你好运!