gpt4 book ai didi

python - 如何从本地环境以编程方式运行 jupyter 笔记本(在 Sagemaker 笔记本内)

转载 作者:行者123 更新时间:2023-12-01 00:57:37 25 4
gpt4 key购买 nike

我可以使用 boto3 启动/停止 Sagemaker 笔记本,但如何运行其中的 jupyter 笔记本或 .py 脚本?

这是我将从本地环境或 lambda 运行的东西(但这没问题)。

启动 Sagemaker 笔记本实例:

import boto3

client = boto3.client('sagemaker')

client.start_notebook_instance(
NotebookInstanceName='sagemaker-notebook-name'
)

docs

在 UI 中,我只需单击“打开 Jupyter”,然后在其中运行笔记本或 .py 脚本。

enter image description here

但我想用 boto3 或其他程序以编程方式完成此操作。

我里面的文件名为lemmatize-input-data.ipynb

这一定是可能的,但我不确定如何实现?

我也尝试过:

在“启动笔记本”生命周期配置脚本中,创建一个名为 test_script.ipynb 的更简单的测试文件后,确定它不是我的 jupyter 笔记本中的高级内容导致了错误。

set -e

jupyter nbconvert --execute test_script.ipynb

但出现错误:

[NbConvertApp] WARNING | pattern 'test_script.ipynb' matched no files

最佳答案

我鼓励您调查papermill 。它在底层使用 nbconvert 复制并运行模板笔记本。我发现 papermill 的主要好处是你可以轻松地参数化笔记本并通过 python 字典传递参数。然后,模板的副本会保留执行内容和结果的历史记录。

您的代码将类似于:

import papermill as pm

pm.execute_notebook(
'lemmatize-input-data.ipynb',
'lemmatize-input-data-####.ipynb'
)

#### 是类似 datetime.now() 的东西,或者任何你想在笔记本执行时区分它们的东西。

由于笔记本旨在成为事件文档,因此您希望限制外部依赖项的数量,如果笔记本发生更改并且您需要在某个时间点重新运行,这些依赖项可能会发生重大更改。 Papermill 通过制作当时执行的快照来解决这个问题。

更新了解更多背景信息:

我会更新 jupyter 笔记本以包含 python 代码而不是脚本。笔记本将逐个单元执行并像脚本一样运行。如果需要,这还允许您在笔记本中打印和显示中间值和最终值。当 papermill 复制并执行模板笔记本时,所有输出都将显示并保存在笔记本中。这对于任何已生成的图表都很方便。

Papermill 还具有跨笔记本聚合数据的功能。请参阅here一篇总结造纸厂总体情况的好文章。 Papermill 是由 Netflix 设计的,他们有一篇关于其背后哲学的好文章 here ,其中他们引用了机器学习。

综上所述,papermill 可用于轻松记录在 sagemaker 中训练机器学习模型的每个步骤。然后使用 papemrill 的聚合功能,您可以以图形方式查看模型随时间的变化情况。

关于python - 如何从本地环境以编程方式运行 jupyter 笔记本(在 Sagemaker 笔记本内),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56121070/

25 4 0
文章推荐: jquery - 使用 val() 和 prop 取消选择多选中的值
文章推荐: javascript - NodeJS 中的回调函数如何工作?
文章推荐: javascript - 脚本中的 Angular
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com