gpt4 book ai didi

python - 如何从 Jupyter Notebook 中的对象释放内存

转载 作者:太空狗 更新时间:2023-10-30 00:15:43 95 4
gpt4 key购买 nike

我想弄清楚如何在使用 jupyter notebooks 时释放 python 对象占用的空间。

在特定情况下,我正在处理多个大型数据帧,一旦我完成了一些计算,我想加载一个新的数据帧。

然而,这总是会导致内存错误并且我的系统开始卡住。

所以我想我会尝试删除 python 对象。

到目前为止我已经尝试过的事情:
1.使用del调用垃圾收集器

del pyobject
import gc
gc.collect()
  1. 使用 ipython 魔术命令

    %reset_selective -f pyobject

这两种方法都无法真正释放内存。查看 htop 命令显示我的 RAM 仍有 20GB 被 jupyter 笔记本用完了。它们的内存仅在我重新启动内核时才被释放(但随后我最终丢失了下一阶段数据分析所需的所有其他变量)

最佳答案

确保不存在对您的数据的其他引用。是否没有其他基于该数组的 View ?您可以使用 get_referrers 获取包含对某物的引用的对象。

如果有任何观点,您应该将其提升为副本。特别是 ipython 倾向于在名为 _、_1、_23 等的变量中保留对先前评估的引用。 %reset_selective 应该清除这些。

关于python - 如何从 Jupyter Notebook 中的对象释放内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55221451/

95 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com