使用浮点输入对服务的Tensorflow模型进行推理失败

时间:2018-10-22 15:41:19

标签: json tensorflow tensorflow-serving

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

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

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

FileStream

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

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

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

有什么想法吗?

1 个答案:

答案 0 :(得分: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

您的带有有效负载包含float的curl请求现在应该可以工作。