将长的和慢的jupyther笔记本分成不同的块

2024-09-24 22:31:41 发布

您现在位置:Python中文网/ 问答频道 /正文

背景:

我有一个很长的jupyther笔记本,里面有很多大的numpy数组。 当我用它来记录一个项目时,jupyther笔记本由几个独立的块和一个导入块组成(对于所有其他块都是必需的)。在计算了许多单元格之后,笔记本的速度变得很慢,所以我想找到一种加速的方法。下面的问题,对我来说似乎是目前最坚实和方便的解决办法,但我对其他想法持开放态度。你知道吗

我的问题:

有没有一种方便的方法,可以定义jupyther笔记本的独立块,并且只需单击一个视图就可以彼此独立地执行它们?你知道吗

到目前为止我的想法:

总是把最新的块放在我的笔记本上面(在include语句之后)。在这个块的末尾写一个raise命令,以防止执行更多的块:这有点混乱,我不能通过单击视图来执行文档中更远的块。你知道吗

将笔记本拆分为单独的笔记本文档:这很有帮助,但我想更好地概述我的工作。你知道吗

delete所有变量,在当前块执行后使用:不管出于什么原因,这并没有带来相当大的加速。有没有可能,我做错了什么?你知道吗

启动我为jupyther笔记本使用的浏览器,它有一些不错的价值(我使用的是linux):这并不能提高笔记本的性能,但至少电脑运行速度很快,我可以在等待笔记本的同时在上面做其他事情。你知道吗

如果我在这里找不到更好的解决方案,我最终的解决方法就是定义变量

actBlock1=False
actBlock2=True
actBlock3=False

把if语句放在一个块的所有单元格中。但是我更喜欢一些能减少不必要的if和indents的东西来保持我的工作整洁。你知道吗

事先非常感谢


Tags: 项目方法文档numpy视图falseif定义
1条回答
网友
1楼 · 发布于 2024-09-24 22:31:41

您可以查看Jupyter Notebook Extensions package,特别是Freeze扩展。它将允许您将单元格标记为“冻结”,这意味着它们不能被执行(除非您“解冻”它们)。你知道吗

例如,在此图像中:

Frozen cells

蓝色阴影的单元格被“冻结”(您可以使用工具栏中的星号按钮选择)。单击“全部运行”后,仅执行未冻结的单元格。你知道吗

相关问题 更多 >