背景:
我有一个很长的jupyther笔记本,里面有很多大的numpy数组。 当我用它来记录一个项目时,jupyther笔记本由几个独立的块和一个导入块组成(对于所有其他块都是必需的)。在计算了许多单元格之后,笔记本的速度变得很慢,所以我想找到一种加速的方法。下面的问题,对我来说似乎是目前最坚实和方便的解决办法,但我对其他想法持开放态度。你知道吗
我的问题:
有没有一种方便的方法,可以定义jupyther笔记本的独立块,并且只需单击一个视图就可以彼此独立地执行它们?你知道吗
到目前为止我的想法:
总是把最新的块放在我的笔记本上面(在include语句之后)。在这个块的末尾写一个raise
命令,以防止执行更多的块:这有点混乱,我不能通过单击视图来执行文档中更远的块。你知道吗
将笔记本拆分为单独的笔记本文档:这很有帮助,但我想更好地概述我的工作。你知道吗
delete
所有变量,在当前块执行后使用:不管出于什么原因,这并没有带来相当大的加速。有没有可能,我做错了什么?你知道吗
启动我为jupyther笔记本使用的浏览器,它有一些不错的价值(我使用的是linux):这并不能提高笔记本的性能,但至少电脑运行速度很快,我可以在等待笔记本的同时在上面做其他事情。你知道吗
如果我在这里找不到更好的解决方案,我最终的解决方法就是定义变量
actBlock1=False
actBlock2=True
actBlock3=False
把if语句放在一个块的所有单元格中。但是我更喜欢一些能减少不必要的if和indents的东西来保持我的工作整洁。你知道吗
事先非常感谢
您可以查看Jupyter Notebook Extensions package,特别是Freeze扩展。它将允许您将单元格标记为“冻结”,这意味着它们不能被执行(除非您“解冻”它们)。你知道吗
例如,在此图像中:
蓝色阴影的单元格被“冻结”(您可以使用工具栏中的星号按钮选择)。单击“全部运行”后,仅执行未冻结的单元格。你知道吗
相关问题 更多 >
编程相关推荐