首页 > 解决方案 > 用于调用 AWS SageMaker 对象检测模型的数据格式

问题描述

我在 AWS SageMaker 中训练了一个对象检测模型并为其创建了一个端点。端点通过 lambda 函数调用,该函数通过 api 网关访问。到目前为止,一切都很好。

现在我想从一个角度应用程序调用 api - 上传一张图片并取回预测。但是我很难找出正确的方法来做到这一点。到目前为止,我看到的 aws 文档并没有详细介绍这部分。

我将图像作为 blob 获取,从 html 画布捕获。我试图将 blob 转换为字节数组:

    fileReader.onload = function () {
    arrayBuffer = this.result;

    var byteArray = new Uint8Array(arrayBuffer);

    that.http.post<any>(that.url, byteArray.toString(), {
      headers: new HttpHeaders().set('X-Api-Key', that.apiKey).set("Content-Type", "image/jpeg")
    }).toPromise().then((result) => {
      resolve(result);
    });
  };
  fileReader.readAsArrayBuffer(blob);

回应是:

{"message":"Received client error (400) from model with message \"unable to evaluate payload provided\".}

有人做过吗?提交图片的正确方法是什么?

谢谢你。

标签: amazon-web-servicesamazon-sagemaker

解决方案


推荐阅读