使用AWS Lambda在AWS Sagemaker上执行jupyter笔记本

时间:2020-10-17 21:20:10

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

我在Python中做了一个分类器,该分类器使用了很多库。我已将模型作为泡菜上载到Amazon S3(my_model.pkl)。理想情况下,每次有人将文件上传到特定的S3存储桶时,它都应触发一个AWS Lambda,该Lambda将加载分类器,返回预测并将一些文件保存在Amazon S3存储桶中。

我想知道是否可以使用Lambda在AWS SageMaker中执行Jupyter Notebook。这样,我就不必担心依赖关系,并且通常会使分类更加直接。

那么,有没有办法使用AWS Lambda执行Jupyter Notebook?

2 个答案:

答案 0 :(得分:0)

安排笔记本的执行有点像SageMaker反模式,因为(1)您需要自己管理数据I / O(训练集,训练好的模型),(2)您需要管理自己的元数据跟踪, (3)您不能在分布式硬件上运行,并且(4)您不能使用Spot。相反,建议计划任务利用各种SageMaker长期运行的后台作业API:SageMaker培训,SageMaker处理或SageMaker Batch Transform(在批处理推断的情况下)。

话虽如此,如果您仍然想安排笔记本的运行时间,则可以通过多种方式进行操作:

  • SageMaker CICD Reinvent 2018 Video中,笔记本作为Cloudformation模板启动,并且它们的执行通过SageMaker生命周期配置自动执行。
  • AWS发布了this blog post,以记录如何从处理作业中启动笔记本电脑

但是再次,我对计划任务的建议是将其从Jupyter中删除,将其转换为脚本并在SageMaker Training中运行它们

无论您选择哪种方式,只要功能角色具有适当的权限,所有这些任务都可以作为API调用从Lambda函数中启动

答案 1 :(得分:0)

我同意奥利维尔的观点。使用 Sagemaker 执行 Notebook 可能不是适合这项工作的工具。

Papermill 是以这种方式运行 Jupyter Notebooks 的框架。

您可以考虑尝试this。这允许您将 Jupyter Notebook 直接部署为无服务器云功能,并在幕后使用 Papermill。

免责声明:我为 Clouderizer 工作。

相关问题