首页 > 解决方案 > 如何在张量流服务中传递单个图像?

问题描述

我有一个托管在本地主机上的 tensorflow 上的 yolo 模型,要对其进行测试,我必须传递单个图像而不是一批图像,这就是我尝试的方式

from tensorflow_serving.apis import predict_pb2
from tensorflow_serving.apis import prediction_service_pb2_grpc
import cv2 as cv
channel = grpc.insecure_channel("8501")

stub = prediction_service_pb2_grpc.PredictionServiceStub(channel)

request.model_spec.name = 'yolo'
request.model_spec.signature_name = 'predict'
image = cv.imread("test.jpg")

现在,当我尝试分配输入时

>>> request.inputs['images'].CopyFrom(image)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: Parameter to CopyFrom() must be instance of same class: expected tensorflow.TensorProto got numpy.ndarray.

我收到此错误,如何在请求中传递单个图像?

标签: pythonnumpytensorflowtensorflow-serving

解决方案


request.inputs['image'].CopyFrom(
    tf.contrib.util.make_tensor_proto(image, shape = [1]))
result = stub.Predict(request, 10.0)

尝试这个


推荐阅读