Google Cloud JSON预测请求中的“请求有效载荷大小超出限制”

时间:2019-03-28 09:38:50

标签: python-2.7 tensorflow google-cloud-ml

我正在尝试使用Google Cloud ml引擎提供预测。我使用fast-style-transfer生成了模型,并将其保存在Google Cloud ml引擎的“模型”部分中。作为输入,它使用float32,因此我必须将这种图像转换为这种格式。

image = tf.image.convert_image_dtype(im, dtypes.float32)
matrix_test = image.eval()

然后我为请求生成了json文件:

js = json.dumps({"image": matrix_test.tolist()})

使用以下代码:

gcloud ml-engine predict --model {model-name} --json-instances request.json

返回以下错误:

ERROR: (gcloud.ml-engine.predict) HTTP request failed. Response: {
  "error": {
    "code": 400,
    "message": "Request payload size exceeds the limit: 1572864 bytes.",
    "status": "INVALID_ARGUMENT"
  }
} 

我想知道是否可以增加此限制,如果不能,那么是否可以通过一种解决方法来解决此问题……在此先感谢!

2 个答案:

答案 0 :(得分:1)

如果使用批量预测,则可以对超出该限制的图像进行预测。

以下是官方文档:https://cloud.google.com/ml-engine/docs/tensorflow/batch-predict

希望这对您有所帮助!

答案 1 :(得分:0)

这是Cloud Machine Learning Engine API的硬限制。有一个feature request可以增加此限制。您可以在此处发表评论,要求更新。此外,您可以同时尝试the following solution

希望有帮助