如何使用AWS Lambda在Sagemaker中安排ipnyb笔记本?

时间:2019-07-01 22:32:22

标签: r aws-lambda jupyter-notebook amazon-sagemaker

我需要安排AWS Lambda来打开/运行Sagemaker内部拥有的Jupyter笔记本,以每天生成一个csv文件。

我已经创建了我的笔记本实例(称为Model_v1)和Sagemaker内部所需的生命周期配置。我可以启动实例,在Notebook内运行代码(R),然后代码写入我需要的CSV文件。

我已经阅读了许多有关如何在Lambda中使用Sagemaker的文章,但是我没有正式使用“培训工作”或“模型” /端点等。我只是想让Lambda 1)启动笔记本实例 2)运行生成CSV的.ipnyb代码

如果有一种更简单的方法可以使Sagemaker每天使用另一种工具(而不是lambda)运行此脚本,那就很乐于更改!

2 个答案:

答案 0 :(得分:0)

您可以使用papermill以编程方式运行笔记本。 papermill-lambda展示了如何将造纸厂的依赖关系引入lambda,但我从未尝试过。更干净的设置是将模型科学封装在Docker容器中,就像在SageMaker R tutorial中所做的那样。然后,您可以使用lambda函数从您选择的与lambda兼容的SDK中启动培训工作(例如,boto3 create_training_job调用,该调用默认安装在lambda中)。

请注意,在兼容sagemaker的docker容器中编写模型可以使您从所选择的语言中受益于SageMaker的全部体验-在这里使用R,包括但不限于

  • 使用多种SDK通过各种类型的硬件和网络配置进行业务编排,包括但不限于pythonCLIjsPHP,{{ 3}},goruby
  • 贝叶斯超参数搜索
  • 硬件使用情况和算法输出的本地日志记录,带有正则表达式的可选指标仪表板
  • 一键式部署到托管实时端点,可选的多可用性区域和自动缩放
  • 本机元数据持久性(超参数,数据路径,工件,训练配置和持续时间等)和搜索。

答案 1 :(得分:0)

https://towardsdatascience.com/automating-aws-sagemaker-notebooks-2dec62bc2c84

此博客解释了这种情况。

  1. 启动python环境。
  2. 执行jupyter笔记本。
  3. 下载包含自动停止功能的AWS示例python脚本。
  4. 等待1分钟。可以根据要求增加或降低。
  5. 创建一个cron作业以执行自动停止python脚本。