用 papermill 参数化和自动化 Jupyter

papermill是一个用于参数化和自动化Jupyter notebook的库。通过它,可以在不手动编辑notebook的情况下,通过命令行或Python API指定参数并执行notebook,生成不同结果的副本。文章介绍了如何安装papermill,基本使用方法,包括通过命令行和API传递参数,以及如何在实际工作流程中应用papermill自动化notebook执行和转换。
摘要由CSDN通过智能技术生成

你是否曾经创建过 Jupyter notebook 并希望可以使用一组不同的参数生成notebook?这样做的话你可能至少执行了以下操作之一:

•编辑单元格中的变量并重新运行notebook,根据需要保存副本。•保存了notebook的副本,并且可能修改了代码以直接在 .ipynb 文件中编辑值并重新运行notebooks•构建了一些自定义代码以使用从数据库或配置文件加载的数据设置变量,然后重新运行notebook

这个问题有一个很好的解决方案,可以将交互式笔记本参数化并与自动化作业很好地共存,这就是所谓的papermill

动机

许多notebook用户使用在其notebook顶部附近指定一个单元格作为全局变量的标准做法。然后修改单元格中的值并运行整个notebook以获得不同的结果。为了保持输出,作者将手动下载另一种格式的notebook或将其另存为不同的notebook文件。但是仅使用notebook服务器和这些手动方法很快就会变得混乱且难以跟踪,更不用说容易出错了。你编辑的是哪个notebook? Papermill 有助于解决这个问题。在这篇文章中,我将介绍 papermill 和基本用法,通过一个参数化的例子,最后谈谈使用 cron 完全调度和自动化 notebook 执行的方法。

对于papermillnotebook中的一个特殊单元格被指定为参数。当 papermill 通过命令行界面 (CLI) 或使用 Python API 执行参数化notebook时,参数会传入并在后续单元中执行。这允许notebook以不同的参数快速运行多次。然后可以将生成的执行后的notebook保存在各种位置,包括本地或云存储。

安装

要安装 papermill,请使用 pip。我建议使用 virtualenv 或 conda 的虚拟环境。我经常推荐使用 pyenv 来安装最新的 Python 版本并创建一个 virtualenv虚拟环境。

pip install papermill

如果您想使用各种输入和输出选项,如 Amazon 的 s3 或 Microsoft 的 azure,您可以安装所有依赖项。我不会在这里详细介绍,但文档涵盖了这些选项,你甚至可以扩展 papermill notebooks的输入/输出 (I/O) 添加其他处理程序。

pip install papermill[all]

基本使用

大多数用户想要用 papermill 做的第一件事就是参数化notebook。一旦您运行了 Jupyter 并打开了一个notebook,您需要做的就是将参数标签添加到包含参数的单元格中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值