【发布时间】:2021-06-22 01:45:15
【问题描述】:
所以 - 我喜欢 jupyter-lab ...您可以逐步处理大型复杂过程,这很棒。
但是 - 一旦你让它工作,我发现我总是必须要么
- 添加和解析参数
- 把它放在一个循环中
因为我几乎总是一步一步地让它与一个示例一起工作,但我可能需要针对一百万个实例运行它 - 或者让它成为你可以说的工具 - 将它指向数据库或目录或其他任何东西。
虽然您可以将其导出为 python 文件,但将其全部放在一个函数中,然后添加您的参数解析或循环 - 突然间您丢失了它的 notebook 元素 - 您不能轻易返回。
我只是想知道是否有人提出了某种技术来基本上实现两者 - 即有一个大笔记本分成几个步骤,然后以某种方式用不同的参数集运行整个事情,可能数百万次 -理想情况下不会丢失 jupyter-lab。即 - 有点像在整个事情上放置一个 for 循环,或者有某种“转到单元格”之类的东西......
或者只是以我从未想过的完全不同的方式解决根本问题。
【问题讨论】:
-
我会编写脚本,从笔记本文件中读取所有代码并生成 norma .py 文件。在笔记本文件中,我会放置一些带有额外信息的 cmets/docstrings,这些信息将在生成器中使用。 IE。第一个单元格可以对函数名称和参数进行推荐 - 即。
def main(filename):- 然后生成器可以将所有代码放入函数def main(filename):等。也许它也可以使用 cmets 类似于Flask、Django中的模板来创建循环 -{% for .... %}... 带有代码的单元格。 ...{% end for %} -
使用谷歌我找到了Best practices for turning jupyter notebooks into python scripts,其中一个答案链接到NotebookScripter,它可以加载笔记本,你可以将它作为函数运行——所以它可以部分解决问题,因为你可以循环运行它用于不同的值。
-
将调查所有这些,谢谢
标签: python jupyter-notebook jupyter-lab