JupyterLab 内存不断不足

问题描述 投票:0回答:1

我正在处理和可视化大量数据;我的电脑内存总是不足。我为每个数据集绘制了数百/数千个图,并且我假设 python 内存不足,因为它使所有图都保持打开状态。即使代码运行完毕后,我也必须关闭 anaconda 以清除缓存/内存。这主要是因为我不知道还能怎么做。我该如何解决这个问题?

我尝试使用

.close()
.clf()
命令希望它能够关闭图形并释放 RAM,但这些都不起作用。这是我的代码片段:

def figure(y, y_label, title, filename):
        plt.figure(figsize = (16, 8))
        plt.plot(time, y)
        plt.xlabel("Time (seconds)", fontsize = 22)
        plt.ylabel(y_label, fontsize = 22)
        plt.title(title)
        plot_filename = filename
        plot_filepath = os.path.join(data_directory, plot_filename)
        plt.savefig(plot_filepath)
        plt.clf()
        plt.close()

python matplotlib
1个回答
0
投票

欢迎来到Python内存管理痛苦的世界,这个痛苦似乎一年比一年严重。无论如何,这是我的 FUD。我有同样的情况,我发现有效的是将

plt.close
的每个实例替换为以下

import gc
plt.close()
fig = plt.gcf()
del fig
gc.collect()

尝试一下,看看你的记忆力是否更好。我对此的注释也交叉引用了https://github.com/matplotlib/matplotlib/issues/25406

的讨论
© www.soinside.com 2019 - 2024. All rights reserved.