【问题标题】:Inference on served tensorflow model fails with float input使用浮点输入推断服务的张量流模型失败
【发布时间】:2018-10-22 15:41:18
【问题描述】:

我正在尝试在服务的 tensorflow 模型上运行推理。更具体地说,通过 REST 发送 JSON 请求以获取预测。

我实际上只是在做这里概述的基本示例: https://www.tensorflow.org/serving/

一切正常,除非我将“实例”输入更改为不以“.0”结尾的浮点数,否则它会失败。

curl -d '{"instances": [1.1, 2.2, 5.3]}' \ -X POST http://localhost:8501/v1/models/half_plus_two:predict

{ "error": "无法处理元素:\'instances\' 列表中的 0。错误:无效参数:无法将 JSON 值:1.1 转换为浮点数而不损失精度。" }

不过,对于我的最终模型,我需要通过 JSON 请求传递浮点数。我也尝试使用python发送,发送请求时使用simplejson序列化Decimal。

我假设它在尝试加载 JSON 时无法正确解析浮点数。这是必须在模型图中编码的东西吗? (请注意,我没有对图形/模型进行编码,所以我不太熟悉)

有什么想法吗?

【问题讨论】:

    标签: json tensorflow tensorflow-serving


    【解决方案1】:

    我也遇到了这个错误。它是 Tensorflow Serving 1.11 中的 bug,已经进行了修复,只是尚未发布。

    要暂时解决此问题,您可以安装 Tensorflow Serving 映像的先前版本,标记 1.10.0,而不是最新版本。

    docker pull tensorflow/serving:1.10.0
    

    只是,确保已删除最新图像并运行正确的版本标记,如下所示。

    ➜ docker images
    REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
    tensorflow/serving   1.10.0              a7b9844ed1ae        2 months ago        215MB
    

    您的有效载荷包含floats 的 curl 请求现在应该可以工作了。 ?

    【讨论】:

    • 谢谢 :) 同时我也想通了。我所做的实际上是每晚拉 tf,不知道它也适用于 1.10!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-29
    • 2021-10-07
    相关资源
    最近更新 更多