我们中的一群人一直在努力尝试通过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命令行预测请求,它的工作方式如下所示
。 android代码要做的是读取工作的json文件(我们尝试了各种版本-包括仅3D张量数组-真正在0到1调整大小的图像数组之间缩放)。一切都失败了。你能帮忙吗?
这是来自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);
最后,这意味着要发送的内容是{“ instances”:XXXX],其中XXXX是上面的字符串3D数组。我们尝试了很多变体,其中{“ instance”:YYYY]和YYY = {“ conv2d_input”:XXXX},因为这是我们成功的gcloud预测其传递的json文件数据所具有的含义。无法弄清楚。