【发布时间】:2019-11-20 21:52:13
【问题描述】:
我在尝试通过 HTTP 休息请求调用已部署的在线预测时遇到问题 谷歌人工智能平台上的模型。无论我如何打包数据,我都会收到以下错误。错误是:
Expected float32, got *******
我已确认 Google 凭据的工作,我可以从我的 Android 应用程序执行查询以获取有关模型的信息,并且成功。
我认为问题在于数据的格式。我已按照https://cloud.google.com/ml-engine/docs/online-predict 和https://cloud.google.com/ml-engine/docs/v1/predict-request 的说明进行操作。我曾尝试发送各种版本,例如
{"instances": [xxx]} where have formatted xxx in many different ways.
它应该将 3D 数组作为输入 - 基本上模型的输入是 150x150x3 数组,其中每个像素的值从 0 到 1.0(浮点数)。因为模型需要浮点输入,所以我无法将原始 150x150x3 像素值转换为 base64。所以,我使用上面链接中的解释来发送 3D 数组。我尝试了很多不同的方法,现在不知道该怎么做。 这是一张图像,显示了代表模型需要的缩放输入输入的 3D 字符串数组
注意:我正在从 JSON file 中读取数据——这与我在下面的命令行成功 gcloud 调用中使用的相同,以执行预测。这是一张说明内容的图片。
【问题讨论】:
标签: android tensorflow google-cloud-ml