首页 > 解决方案 > 切断 TensorFlow Serving 上的输出张量

问题描述

我很难在使用 TensorFlow Serving 的服务器上提供对象检测模型。

这是一篇关于同一问题的帖子: TF 对象检测:返回推理负载的子集

建议是在导出过程中更改模型,这样它就没有太多结果的输出张量。但我不想改变模型本身。

你能帮我排除服务器端的冗余输出张量(前缀为'raw_')吗?


下面是为模型服务并获得响应的命令和代码。

启动模型服务的命令(在服务器端):

docker run --runtime=nvidia -d \
  -p 8500:8500 -p 8501:8501 \
  --name detector \
  -v /tmp/tensorboard:/tmp/tensorboard \
  --mount type=bind,\
source=/home/ubuntu/myproj/serving/models/detector,\
target=/models/detector \
  -e MODEL_NAME=detector -t tensorflow/serving

通过 HTTP API 请求并获取响应(在客户端):

# Create a request appending the image tensor
request_url = 'http://49.50.165.247:8501/v1/models/detector:predict'
data = json.dumps({"signature_name": "serving_default", "instances": image_tensor.tolist()})
headers = {"content-type": "application/json"}

session = requests.Session()
req = requests.Request('POST', request_url, data=data, headers=headers)
prepped = req.prepare()

json_response = session.send(prepped)

标签: tensorflow

解决方案


推荐阅读