【发布时间】:2020-04-02 11:07:58
【问题描述】:
我正在开展一个项目,我需要取消对模块的引用并释放其内存以进行进一步的模型训练。在这里,我提到了在某些块之后使用内存的演示代码。 我使用了垃圾收集以及 del 函数,但它对我不起作用。
import psutil
import sys
import gc
sys.path.insert(0,'/scripts_v2')
process = psutil.Process()
mem = process.memory_info().rss/(1024**2)
print(mem)
import pandas as pd
process = psutil.Process()
mem = process.memory_info().rss/(1024**2)
print(mem)
sys.modules.pop('pandas')
#del pd
gc.collect()
process = psutil.Process()
mem = process.memory_info().rss/(1024**2)
print(mem)
我在特定代码块之后计算了内存。这里我提到了上面代码的输出。
可以看到删除pandas库前后,它的内存还是60.65MB。如何释放它的内存?
【问题讨论】:
-
这能回答你的问题吗? How to de-import a Python module?
-
没有。我可以删除一个模块。我想在删除模块后释放它的内存。从附图中可以看出,删除pandas库前后系统使用的内存是一样的。
标签: python garbage-collection python-module