我们中的一群人一直在努力尝试通过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文件数据所具有的含义。无法解决这个问题。