Android无法对已部署的Google Cloud ML模型发出在线预测请求

问题描述 投票:0回答:1

我们中的一群人一直在努力尝试通过Android App发出在线预测请求。我们不断收到以下错误

Expected float32, got XXXXXX

不管我们发送的Json请求内容数据的格式。

我们已遵循https://cloud.google.com/ml-engine/docs/online-predict处的java示例,可以成功连接Google凭据,并且可以对该模型进行信息查询并获取结果。

但是,当尝试进行预测并进一步使用以下方法仔细读取数据格式时,https://cloud.google.com/ml-engine/docs/v1/predict-request我们收到上述错误。请注意,我们可以使用此json file进行gcloud命令行预测请求,它的工作方式如下所示enter image description here。 android代码要做的是读取工作的json文件(并且我们尝试了各种版本-包括仅3D张量数组-真正在0到1调整大小的图像数组之间缩放)。一切都失败了。您能帮忙吗?

这里是原始json数据的图片,对其进行了解释enter image description here

这是来自Android App的代码段,用于设置HTTP请求。

 Map<String, String> data = new HashMap<>();
 data.put("instances", ac.jsonString);
 Log.d("AsyncMake***", data.toString());
 ac.content = new JsonHttpContent(ac.jsonFactory, data);

[这里您可以看到ac.jsonString是什么运行时间enter image description here

最后,这意味着要发送的内容是{“ instances”:XXXX],其中XXXX是上面的字符串3D数组。我们尝试了很多变体,其中{“ instance”:YYYY]和YYY = {“ conv2d_input”:XXXX},因为这是我们成功的gcloud预测其传递的json文件数据所具有的含义。无法解决这个问题。

google-cloud-ml
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.