如何在不重新启动笔记本电脑的情况下清除Jupyter存储器

时间:2019-04-05 12:08:47

标签: python memory jupyter

我正在为自己的论文使用3D卷积神经网络,并且正在尝试使用具有90度旋转数据增强功能的8x8滑动窗口以256x256图像,22通道,5图片的输入来训练该网络。因此输入大小为(262144,22,8,8,5)。

网络的输入是一个更大的10240x10240图像的图块,因此我需要多次训练模型以涵盖整个数据集。

我正在使用60GB的RAM,我的计划是:

  1. 加载一个图块的输入张量。

  2. 训练模型

  3. 保存模型

  4. 清除jupyter内存而无需关闭笔记本电脑

  5. 加载模型

  6. 加载下一个图块的输入张量

  7. 继续训练模型

  8. 保存模型

  9. 清除记忆并重复

我无法连续加载不同的图块,否则会出现MemoryError。

我知道使用“ del tensor_name”实际上并不会删除分配的内存。

似乎,使用%reset -f只会清除变量,而不会清除整个内存。

1 个答案:

答案 0 :(得分:2)

Jupyter适用于原型制作,但不适用于在同一个文件上进行数月的工作。

当我需要开始应用代码时,我将代码放到OOP(面向对象编程)类中,并在多个.py脚本中使用它们。

最后,要将庞大的数据集作为输入,我需要通过继承Sequential类:https://stanford.edu/~shervine/blog/keras-how-to-generate-data-on-the-fly

来制作自定义Keras生成器