首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从AWS调用invoke_endpoint,以返回应用程序/x-recordio protobuf而不是图像(Python)的语义分割模型。

从AWS调用invoke_endpoint,以返回应用程序/x-recordio protobuf而不是图像(Python)的语义分割模型。
EN

Stack Overflow用户
提问于 2022-11-20 21:09:55
回答 1查看 14关注 0票数 1

我用invoke_endpoint函数从AWS调用一个语义分割模型,但没有得到图像响应,而是得到了一个应用程序/x-recordio protobuf,无法将其转换为图像以供进一步处理。语义分割模型在我的sagemaker笔记本中的工作方式与预期的一样,问题是当从AWS调用它时。我需要从AWS或类似的服务中调用它,这样我就可以将它与通过rest服务传递图像输入的应用程序连接起来。

下面是我代码的相关部分:

代码语言:javascript
复制
runtime= boto3.client('runtime.sagemaker')
response = runtime.invoke_endpoint(EndpointName=ENDPOINT_NAME,
                                  ContentType='image/jpeg',
                                  Body=imageBody,
                                  Accept='image/jpeg')

我还没有找到好的例子,说明如何正确地调用端点,特别是针对AWS的语义分段模型。我也尝试过导入sagemaker,但是AWS没有提供这个模块,而且我也找不到一个很好的sagemaker层。

如果有人想知道如何从AWS调用语义分割模型,传递图像,并获得图像作为响应,我将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2022-11-24 00:43:15

我想,当您在笔记本中声明它有效时,您使用的是.predict() - SageMaker Python。

如果是这样的话,您可以使用boto3客户机(我看到您已经展示了这个客户机)。您只需要像SDK一样将imageBody序列化为字节,并设置正确的AcceptTypeContentType

要查询部署到端点的经过训练的模型,您需要提供一个图像和一个AcceptType来表示所需的输出类型。端点以图像/ JPEG内容类型获取jpeg图像。如果您请求图像/ PNG的AcceptType,则算法以与标签本身相同的格式输出带有分段掩码的PNG文件。如果您请求接受类型的应用程序/x-recordio protobuf,该算法将返回以recordio protobuf格式编码的类概率。

https://docs.aws.amazon.com/sagemaker/latest/dg/semantic-segmentation.html#semantic-segmentation-inputoutput-inference

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74512026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档