在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)
答案 0 :(得分:1)
如果模型“仅接受图像的b64编码字符串”,则意味着签名具有一个输入张量,并且其数据类型为字符串,则ML Engine将输入文件的每一行直接馈入单个字符串输入张量。在这种情况下,不执行JSON / b64解码,因此您的模型将获得整行作为输入。
如果您的模型属于这种情况,那么您可以通过在模型中添加一个新操作以解决输入中的“键”字段来解决该异常。