【问题标题】:gRPC server responds with OS Error, grpc_status: 14gRPC 服务器响应操作系统错误,grpc_status: 14
【发布时间】:2020-05-19 11:27:25
【问题描述】:

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

        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}"

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

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()

提前感谢您的帮助:)

【问题讨论】:

  • 你能分享命令(和支持文件,如果适用的话)来启动 docker 容器吗?是否将容器端口8500 映射到主机上的端口?
  • 问题就是这样!在 docker 命令中,我传递了 -p 8500:8501 (大脸!)。有了这个OS Error,我假设我的客户已经连接了......很好发现。它还活着!非常感谢您的帮助:)

标签: docker tensorflow grpc tensorflow-serving grpc-python


【解决方案1】:

在此处提供解决方案,即使它出现在评论部分,以造福社区。​​p>

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

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 模型服务器进行通信。 (8500 端口为 gRPC 公开,8501 端口为REST API 公开)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-19
    • 2017-10-12
    • 1970-01-01
    • 1970-01-01
    • 2015-09-16
    • 1970-01-01
    相关资源
    最近更新 更多