首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gRPC服务器响应操作系统错误,grpc_status: 14

gRPC服务器响应操作系统错误,grpc_status: 14
EN

Stack Overflow用户
提问于 2020-02-03 16:56:21
回答 1查看 6.2K关注 0票数 2

通过使用Tensorflow服务示例中的基本gRPC客户端从运行在docker上的模型中获得预测,我得到了以下响应:

代码语言:javascript
复制
        status = StatusCode.UNAVAILABLE
        details = "OS Error"
        debug_error_string = "{"created":"@1580748231.250387313",
            "description":"Error received from peer",
            "file":"src/core/lib/surface/call.cc",
            "file_line":1017,"grpc_message":"OS Error","grpc_status":14}"

这就是我的客户目前的样子:

代码语言:javascript
复制
import grpc
import tensorflow as tf
import cv2

from tensorflow_serving.apis import predict_pb2
from tensorflow_serving.apis import prediction_service_pb2_grpc


def main():
    data = cv2.imread('/home/matt/Downloads/cat.jpg')

    channel = grpc.insecure_channel('localhost:8500')
    stub = prediction_service_pb2_grpc.PredictionServiceStub(channel)

    request = predict_pb2.PredictRequest()
    request.model_spec.name = 'model'
    request.model_spec.signature_name = 'serving_default'

    request.inputs['image_bytes'].CopyFrom(
        tf.make_tensor_proto(data, shape=[1, data.size]))
    result = stub.Predict(request, 10.0)  # 10 secs timeout
    print(result)

if __name__ == '__main__':
    main()

(谢谢您的帮助:)

EN

Stack Overflow用户

发布于 2020-04-09 13:21:01

在这里提供解决方案,即使它存在于评论部分,以造福社区。

解决方案是,在执行客户端文件之前,我们需要使用下面给出的代码运行Docker容器来调用Tensorflow Model Server

代码语言:javascript
复制
docker run -t --rm -p 8501:8501 \
    -v "$TESTDATA/saved_model_half_plus_two_cpu:/models/half_plus_two" \
    -e MODEL_NAME=half_plus_two \
    tensorflow/serving &

除了调用Tensorflow模型服务器之外,

  1. 它将用服务器上的模型路径和
  2. 映射模型的本地路径,它将映射用于与Tensorflow模型服务器通信的端口。(端口8500gRPC公开,端口8501REST API)

公开

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60043772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档