【问题标题】:TensorFlow Serving frequent request timeoutsTensorFlow Serving 频繁请求超时
【发布时间】:2018-09-03 13:22:46
【问题描述】:

问题描述

我们遇到的问题如下。 Serving 配置为加载和服务 7 个模型,并且随着模型数量的增加,Serving 请求超时的频率更高。相反,随着模型数量的减少,请求超时是微不足道的。在客户端,超时设置为 5 秒。

有趣的是,最大批处理持续时间约为 700 毫秒,配置的最大批处理大小为 10。平均批处理持续时间约为 60 毫秒。

日志和截图

我们检查了 TensorFlow Serving 日志,但未发现任何警告或错误。此外,我们还监控了正在运行的 GPU 机器和向 Serving 执行推理请求的主机的网络,但均未发现网络问题。

暂时解决

减少加载和服务模型的数量,但这不是预期的解决方案,因为这需要设置多个不同的 GPU 实例,每个实例仅加载和服务模型的子集。

系统信息

操作系统平台和发行版(例如,Linux Ubuntu 16.04):Ubuntu 16.04 TensorFlow Serving 安装自(源代码或二进制文件):源代码 TensorFlow 服务版本:1.9 TensorFlow 服务在多个 AWS g2.2xlarge 实例上运行。我们使用 Docker 运行 TensorFlow Serving,基础镜像为nvidia/cuda:9.0-cudnn7-devel-ubuntu16.04

这种行为的路径原因可能是什么?在内存中加载多个模型时,Serving 如何处理请求?它如何改变模型上下文?

【问题讨论】:

    标签: docker tensorflow tensorflow-serving


    【解决方案1】:

    添加从 docker 传递到 tensorflow 服务的参数 --rest_api_timeout_in_ms=0 对我有用。

    例子:

    docker run -p 8501:8501 \
      --mount type=bind,\
    source=/tmp/tfserving/serving/tensorflow_serving/servables/tensorflow/testdata/saved_model_half_plus_two_cpu,\
    target=/models/half_plus_two \
      -e MODEL_NAME=half_plus_two -t tensorflow/serving --rest_api_timeout_in_ms=0 &
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-06
      • 2016-01-23
      • 2022-01-13
      • 1970-01-01
      • 1970-01-01
      • 2018-08-29
      • 1970-01-01
      相关资源
      最近更新 更多