ML-Engine本地预测-无法运行模型

时间:2018-10-03 17:05:15

标签: google-cloud-ml google-prediction

gcloud ml-engine本地预测失败

首先,我用input.json确定了所需的saved_model_cli show --all --dir saved_model/结构 响应:

MetaGraphDef with tag-set: 'serve' contains the following SignatureDefs:

signature_def['serving_default']:
The given SavedModel SignatureDef contains the following input(s):
inputs['inputs'] tensor_info:
    dtype: DT_UINT8
    shape: (-1, -1, -1, 3)
    name: image_tensor:0
....

由此,我将input.json的{​​{1}}格式化为:

gcloud ml-engine local predict

最后,我跑了{"inputs": {"b64": "ENCODED"}} ...

响应:

gcloud ml-engine local predict --model-dir saved_model/ --json-instances=PATH-TO-INPUTS.json

任何克服这一障碍的帮助都会很棒。到目前为止,我还无法从在线研究中找到解决方案。谢谢!

1 个答案:

答案 0 :(得分:0)

input.json中的数据与inputs['inputs']的形状不匹配。您尚未提供有关各种尺寸代表什么的足够信息,但是我怀疑这是图像的NHWC(批处理大小x高度x宽度x通道)编码。

我也怀疑这些应该是原始像素值。在这种情况下,您不应该对值进行base64编码,即,您应该像这样发送数据:

{"inputs": [[[0, 0, 0], ... [0, 0, 0]]]}

话虽如此,您应该考虑将图像作为字节字符串发送并解码图形中的图像。有关各种方法的更多信息,请参见:

https://stackoverflow.com/a/46222990/1399222

似乎您正在使用“编码为JSON的原始张量”,并且我建议使用“压缩映像数据”,或者稍微简单一些的“以字节字符串形式打包的张量”