代码就是简单重复取用列表来画图,但是我的8G内存电脑画到369张图的时候就中断报错了。
代码是这样子的:
for i in range(1000):
a = [1,3,5]
b =[2,4,7]
c=[5,1,3]
d=[7,2,4]
plt.cla()
plt.plot(a, b, c='red' , label='ab')
plt.plot(c, b, c = 'black',label='bb')
plt.plot(c, d, c = 'blue',label='cd')
plt.tight_layout()
plt.savefig(os.getcwd() + '\\SAVE\\' + str(i) + '.png',dpi=20)
plt.figure(clear=True)
plt.clf()
plt.close()
尝试了好多方法,plt.cla()、plt.clf()、plt.figure(clear=True)、plt.close()、gc.collect()这些方法都没有用。
求指点。
问题解决了吗? 我最近也碰到这个问题了,也是369张图就终止了,很多方法都不行,内存显然是足够的,我有64G,计算的时候也只是用了不到20G。在引用的地方加入(原文链接:
import matplotlib
matplotlib.use("Agg")
重新运行,没有再终止了,问题的原因应该是plt.show()虽然没显示,但还是会占用内存。最终一次性成功生成了几万张图没有终止。
赞啦,搞定收工