python - 如何在张量流服务中传递单个图像?
问题描述
我有一个托管在本地主机上的 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.
我收到此错误,如何在请求中传递单个图像?
解决方案
request.inputs['image'].CopyFrom(
tf.contrib.util.make_tensor_proto(image, shape = [1]))
result = stub.Predict(request, 10.0)
尝试这个
推荐阅读
- javascript - 如何防止 Node.js 中的多个请求
- c - C是否有#include
类似于 C++? - linux - FileSystemWatcher 没有在具有托管服务的控制台应用程序中触发 Linux 上的事件
- reactjs - 如何使用反应挂钩设置离开警告?
- xamarin.forms - 如何在代码隐藏中处理更改 PageModel?
- reactjs - 返回普通对象的通用函数,可以在不同的 REACT 功能组件之间使用
- c++ - 为什么我编译的 c++ 代码已经是可执行文件而无需事先运行“chmod a+x”?
- ios - 在 Pushy 中,为什么要使用多个 ApnsClients?
- javascript - js中3d模型的X3D格式转OBJ格式
- python - 使用 pandas 获取事件列表