我正在尝试在服务的张量流模型上进行推理。更具体地说,通过REST发送JSON请求以获得预测。
我实际上只是在做这里概述的基本示例: https://www.tensorflow.org/serving/
一切正常,除非我将“实例”输入更改为不以“ .0”结尾的浮点数,否则它将失败。
FileStream
{“ error”:“无法处理\'instances \'列表中的元素:0。错误:无效的参数:无法将JSON值:1.1转换为浮点数而不会损失精度。” }
对于我的最终模型,我将需要通过JSON请求传递浮点数。我还尝试使用python发送请求,使用simplejson在发送请求时序列化Decimal。
我假设在尝试加载JSON时无法正确解析浮点数。这是必须在模型图中编码的东西吗? (请注意,我没有对图形/模型进行编码,所以我不太熟悉它)
有什么想法吗?
答案 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请求现在应该可以工作。