【问题标题】:How Can I Release memory after deleting a variable in python? [duplicate]在python中删除变量后如何释放内存? [复制]
【发布时间】:2019-10-12 06:17:35
【问题描述】:

我正在处理一个由浮点数组成的大数据集,由于内存限制,我无法将所有样本一起加载,我必须将它们拆分为部分并加载一个部分并在删除它之后训练我的网络并为每个部分执行此操作。

我的问题是如何删除训练有素的数据部分并加载另一个

简单的命令del my_var 不会释放内存。

之后,我在 jupyter-notebook 和 gc.collect() 中尝试了%reset_selective "my var" ,尽管我无法再访问该变量,但内存仍然没有释放。

python3

【问题讨论】:

  • 如果不再引用它们,对象将被垃圾回收。因此,您必须确保该对象随处可见。

标签: python numpy memory-management keras dataset


【解决方案1】:

Python 使用引用计数进行内存管理。当一个变量超出范围(或者像你正在做的那样被显式删除)时,它指向的对象的引用计数减 1。一旦引用计数达到 0,对象就会被垃圾回收(尽管你不能取决于发生这种情况的确切时间)。您的问题可能是您仍然有一个指向相关对象的名称,或者您可能正在删除数据的副本。

您需要提供具体的代码示例以获得更具体的帮助。

【讨论】:

    猜你喜欢
    • 2016-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-18
    • 1970-01-01
    • 2017-09-07
    • 2015-11-01
    相关资源
    最近更新 更多