问题:在循环中运行部分 ipython 笔记本/使用不同的输入参数

我写了一个 ipython notebook,它分析了一个数据集。现在我想用这段代码循环不同的数据集。

代码分为大约 50 个单元格(包括注释、降价解释......)。有没有办法循环运行笔记本的一部分或运行具有不同输入参数的整个笔记本?

我不想将所有单元格合并到一个函数中或将代码下载为 python 脚本,因为我真的很喜欢通过仅执行某些单元格来运行(和试验)部分分析。

基本上它将脚本的部分重构为一个函数并循环调用该函数,只是“脚本的部分”是笔记本单元格。

解答

papermill.execute_notebook是(由 Netflix 设计的)让我们将 notebooks 作为函数运行(这有助于代码重用、实验可重复性和内存效率 - 它以批处理模式运行 notebook,这与标准 python REPL 不同):

import papermill as pm

pm.execute_notebook(
   'path/to/input.ipynb',
   'path/to/output.ipynb',
   parameters=dict(alpha=0.6, ratio=0.1)
)

更多信息:文档|示例。

Logo

学AI,认准AI Studio!GPU算力,限时免费领,邀请好友解锁更多惊喜福利 >>>

更多推荐