【问题标题】:How can I reduce the file size of my iPython notebook?如何减小 iPython 笔记本的文件大小?
【发布时间】:2016-10-14 21:47:59
【问题描述】:

我有一个几兆字节的 IPython 笔记本,虽然里面的代码只有大约 100 行。我认为它很大,因为我在里面加载了几张图片。

我想将此笔记本添加到 git 存储库。但是,我不想上传那么容易再次生成的大文件。

是否可以只保存 IPython 笔记本的代码以减小其大小?

【问题讨论】:

  • stackoverflow.com/questions/18734739/… 可能是相关的。请参阅关于剥离输出的部分。
  • 另一个可能有帮助的实验工具:recombinecm。它将笔记本保存为两个文件,想法是将干净的纯代码文件放在版本控制中,而不是包含所有输出的文件。

标签: jupyter-notebook


【解决方案1】:

您可以尝试以下步骤,因为它对我有用:

选择“单元格”->然后选择“所有输出”->在那里你会发现“清除”选项选择它。


然后保存文件。

这将减小文件的大小(从 MB 到 kb)。这也将减少您下次在浏览器中打开笔记本时加载笔记本的时间。

据我了解,这将清除执行代码后创建的所有输出。由于 Notebook 还保存了 code+images+cmets,因此它还保存了该文件中的输出,因此它将增加 notebook 的大小。

【讨论】:

  • 这将我的数据从 200mb 减少到了几 kb。谢谢!
  • 除此之外,小部件可以轻松地将几 MB 的数据添加到笔记本中。可以使用下拉小部件 > 清除笔记本小部件状态来清除小部件数据
  • 非常感谢@Yogesh,因为这个问题,我开始讨厌 Jupyter。
  • 在我使用@Gman 的方法之前没有任何帮助。图像和输出清除并没有造成任何影响,即使在它看起来 就像不再存在任何小部件之后。小部件清除将几个笔记本从每个超过 100MB 更改为每个 20k。
【解决方案2】:

我的一个笔记本也遇到了完全相同的问题,我通过将df 更改为df.head(5) 解决了这个问题。我这样做而不是清除所有输出,因为我仍然想在 GitHub 上显示我的代码如何更改我的 df 列中的数据。

您还可以在笔记本的最后一个单元格中运行!ls -lh,以在保存之前检查笔记本的大小。如果您需要清除输出/将 df 替换为 df.head()/remove 图像以减小大小并能够保存在 GitHub 上,这将为您提供一个思路。

【讨论】:

    【解决方案3】:

    现在您生成一个简单的脚本,该脚本链接到带有jupytext 的笔记本,其他人可以重新运行该脚本。

    如果您需要保留图像(例如,因为您正在与不想/无法重新运行它的人共享笔记本),您可能需要尝试减少图像。

    我发现这个模块 ipynbcompress 似乎正是这样做的,但到目前为止我无法安装它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-14
      • 2016-06-05
      • 1970-01-01
      相关资源
      最近更新 更多