如何在不重新启动笔记本的情况下清除 jupyter 内存



我正在为我的论文使用 3D 卷积神经网络,我正在尝试使用 256x256 张图像、22 个通道、5 张图片的输入来训练网络,使用 8x8 滑动窗口和 90 度旋转数据增强。所以输入大小是(262144,22,8,8,5)。

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

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

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

  2. 训练模型

  3. 保存模型

  4. 在不关闭笔记本的情况下清除 jupyter 内存

  5. 加载模型

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

  7. 继续训练模型

  8. 保存模型

  9. 清除记忆并重复

我无法连续加载不同的磁贴,否则会出现内存错误。

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

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

Jupyter 适合原型设计,但不适合在同一文件上花费数月的工作。

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

最后,为了将一个巨大的数据集作为输入,我需要通过继承顺序类来创建自定义 Keras 生成器:https://stanford.edu/~shervine/blog/keras-how-to-generate-data-on-the-fly

最新更新