首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Matplotlib在savefig和close()之后不会释放内存

Matplotlib在savefig和close()之后不会释放内存
EN

Stack Overflow用户
提问于 2015-07-01 08:45:00
回答 5查看 10.1K关注 0票数 19

我有一段代码,可以很好地循环一两次,但最终会建立起内存。我尝试用memory_profiler定位内存泄漏,结果是:

代码语言:javascript
运行
复制
row_nr    Memory_usage    Memory_diff    row_text
 470     52.699 MiB     0.000 MiB      ax.axis('off')
 471     167.504 MiB    114.805 MiB    fig.savefig('figname.png', dpi=600)
 472     167.504 MiB    0.000 MiB      fig.clf()
 473     109.711 MiB    -57.793 MiB    plt.close()
 474     109.711 MiB    0.000 MiB      gc.collect()`

我创建了这样的数字:fig, ax = plt.subplots()

有什么建议吗109-52= 57 MiB去了?

我正在使用python3.3。

EN

Stack Overflow用户

发布于 2020-01-16 02:39:55

代码语言:javascript
运行
复制
# Clear the current axes.
plt.cla() 
# Clear the current figure.
plt.clf() 
# Closes all the figure windows.
plt.close('all')   
plt.close(fig)
gc.collect()

这对我有用。把这些行放在循环的末尾!

票数 1
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31156578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档