2

我正在尝试使用 Google AI Platform 预测来使用 Mask RCNN 执行对象识别。在花了将近两周的时间后,我能够:

  1. 了解如何在 Google Cloud 上进行培训
  2. 将模型从 h5 转换为 AI 平台所需的 SavedModel 格式
  3. 创建 AI 平台模型并在那里部署经过训练的模型。

现在,我正在尝试执行预测,它说我的输入大小超过了 1.5 MB,这是输入的最大大小。当我检查它时,将图像(大小为 65KB)转换为预测所需格式的代码使输入文件变为 57MB。

我不知道如何在成型时将 64 KB 的图像文件转换为 57 MB 的 json 文件。我想知道如何减少这种情况?不确定我是否做错了什么。

我尝试使用 gcloud local predict 执行本地预测,并且能够获得 57MB 文件的响应。所以,这意味着文件是正确的。

我尝试将图像的最大尺寸设置为 400X400,从而将文件大小从 57MB 减少到大约 7MB。这仍然很高。我不能继续减少它,因为它会导致信息丢失。

4

1 回答 1

1

根据在线预测文档

二进制数据不能格式化为 JSON 支持的 UTF-8 编码字符串。如果您的输入中有二进制数据,则必须使用 base64 编码来表示它。

你需要input_image调用你的张量input_image_bytes,你会像这样向它发送数据:

{'input_image_bytes': {'b64': base64.b64encode(jpeg_data).decode()}}

如果您需要帮助纠正模型的输入,您应该def _encoded_image_string_tensor_input_placeholder()export_inference_graph.py调用的exporter.py中看到

于 2019-11-04T11:21:54.640 回答