在Google ML引擎上进行批量预测

时间:2019-04-03 12:17:22

标签: python tensorflow google-cloud-ml

在Google ML引擎上进行批量预测会引发异常。

我在Google ML Engine上有一个Tensorflow模型。我的模型对图像进行推断。输入不是普通数组。该模型仅接受图像的b64编码字符串。

我的输入内容是一个文本文件,托管在Google Cloud Platform的存储桶中。 该文件如下所示:

{"image": "b64 encoded image string", "key": "0"}
{"image": "b64 encoded image string", "key": "1"}
{"image": "b64 encoded image string", "key": "2"}

输出应该是对所有图像的侵权,但是我得到以下异常:

('Exception during running the graph: Expected image (JPEG, PNG, or GIF), got unknown format starting with \'{\\"image\\": \\"/9j/4\'\n\t [[node encoder/map/while/DecodeJpeg (defined at /usr/local/lib/python2.7/dist-packages/google/cloud/ml/prediction/frameworks/tf_prediction_lib.py:210) ]]', 1)

1 个答案:

答案 0 :(得分:1)

如果模型“仅接受图像的b64编码字符串”,则意味着签名具有一个输入张量,并且其数据类型为字符串,则ML Engine将输入文件的每一行直接馈入单个字符串输入张量。在这种情况下,不执行JSON / b64解码,因此您的模型将获得整行作为输入。

如果您的模型属于这种情况,那么您可以通过在模型中添加一个新操作以解决输入中的“键”字段来解决该异常。