【问题标题】:How to output results to an S3 bucket when invoking SageMaker endpoint?调用 SageMaker 端点时如何将结果输出到 S3 存储桶?
【发布时间】:2021-03-09 06:51:51
【问题描述】:

我已经设法使用client.create_endpoint() 创建了一个 SageMaker 端点,文档是 here

通过使用示例here 调用端点,我测试了模型运行成功并给了我预期的结果,但我只能在本地打印结果,如何设置输出 S3 存储桶,并获取调用端点时预测结果在那个桶中?

我希望能够得到一个“json.gz.output”格式的输出文件,内容类似于:

{"SageMakerOutput":[[0.05555]],"id":123}

我只知道如果我使用“批量转换作业”,我可以在代码中设置输出存储桶,并将结果上传到 s3 输出存储桶,但我不知道在使用时如何实现这一点端点,我是 SageMaker 的新手,有人可以帮忙吗? 非常感谢。

【问题讨论】:

    标签: amazon-web-services amazon-s3 boto3 endpoint amazon-sagemaker


    【解决方案1】:

    据我所知,没有自动的方法可以做到这一点(我可能是错的)。你为什么不把结果放在你想要的形式,然后用 boto 客户端上传到 S3?以here 为例。

    【讨论】:

    • 嗨,谢谢,我也是这么想的,但是对于 sagemaker 上的“批量转换作业”,它可以定义一个输出存储桶,当作业完成后,输出将上传到该存储桶自动存储桶,这是否意味着我应该使用“批处理作业”而不是“端点”来简化这个过程?
    • 这取决于您要实现的目标。如果您需要一个持久的端点来偶尔发送数据并运行推理,您必须使用一个端点并实施您自己的 S3 上传策略(没什么复杂的,几行代码..看例子),如果你已经有一批数据可用于推理,那么你可以选择批量转换,看这里docs.aws.amazon.com/sagemaker/latest/dg/batch-transform.html
    猜你喜欢
    • 2019-08-20
    • 1970-01-01
    • 2019-01-22
    • 2019-04-08
    • 1970-01-01
    • 2014-02-05
    • 2021-11-15
    • 2017-11-12
    • 1970-01-01
    相关资源
    最近更新 更多