【问题标题】:AWS send image to Sagemaker from Lambda: how to set content handling?AWS 从 Lambda 向 Sagemaker 发送图像:如何设置内容处理?
【发布时间】:2021-09-29 09:47:03
【问题描述】:

类似的问题 AWS Lambda send image file to Amazon Sagemaker

我尝试做simple-mnist(模型参考aws tutorial搭建)

然后我使用 API 网关(带代理集成的 REST API)将图像数据发布到 lambda,并希望将其发送到 sagemaker 端点并进行推断。

在 lambda 函数中,我这样写了代码(.py)。

runtime = boto3.Session().client('sagemaker-runtime')

endpoint_name = 'tensorflow-training-YYYY-mm-dd-...'
res = runtime.invoke_endpoint(EndpointName=endpoint_name,
                              Body=Image,
                              ContentType='image/jpeg',
                              Accept='image/jpeg')

但是,当我通过 API 网关将图像发送到 lambda 时,会发生此错误。

[ERROR] ModelError:调用时发生错误(ModelError) InvokeEndpoint 操作:收到来自模型的客户端错误 (415) 信息 ” { “错误”:“不支持的媒体类型:图像/jpeg”}

我想我需要做一些参考Working with binary media types for REST APIs 的事情

但由于我是新手,我不知道在哪个页面(可能是 API 网关页面?)或如何做适当的事情......

我需要一些线索来解决这个问题。提前谢谢你。

【问题讨论】:

    标签: amazon-web-services aws-lambda amazon-sagemaker


    【解决方案1】:

    查看here可以看到默认只支持部分特定的内容类型,图片不在此列表中。我认为您必须实现 input_fn 函数或将您的数据调整为支持的内容类型之一。

    【讨论】:

    • 感谢您的回答。 This page 告诉同样的事情。我想我需要将 'image' 转换为 'json' 类型,但我没有得到想要的结果(主要是“JSON Parse error: Invalid value.”错误发生)。我会很感激任何帮助..(也许我应该提出另一个问题?)
    • 是的,我认为最好提出另一个具体问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-18
    • 2021-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-08
    • 2021-09-28
    相关资源
    最近更新 更多