我已经在AWS SageMaker中训练了对象检测模型,并为其创建了一个终端节点。端点通过可通过api网关访问的lambda函数调用。到目前为止一切顺利。
现在,我想从一个有角度的应用程序中调用api-上传图片并返回预测。但是我在寻找正确的方法时遇到了麻烦。到目前为止,我所见过的aws文档在这部分上并没有涉及太多细节。
我得到的图像是从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\".}
有人做过吗?提交图像的正确方法是什么?
谢谢。