我想我可能误解了什么.但这是开始了。
我在一个循环中使用matplotlib中的psd方法,我没有让它绘制任何东西,我只是想要数值结果,所以:
import pylab as pyl
...
psdResults = pyl.psd(inputData, NFFT=512, Fs=sampleRate, window=blackman)但每次我运行它所在的函数时,它都会被循环36次。
当我随着时间的推移运行我的程序时,我得到了一个缓慢的内存泄漏,所以使用'heapy‘来监控它,每次我运行这个函数时,它会将36加到这3个堆中:
dict matplotlib.line.Line26
dict matplotlib.transforms.CompositeAffine2D
dict matplotlib.path.Path我只能得出结论,每次我使用psd方法时,它只是将它添加到某个字典中,而我想有效地擦除内存-即重置pylab每个循环,这样它就不会存储任何东西。
我可能误解了heapy,但很明显pylab只是增加了每个循环,即使我只想使用它的psd方法,我也不想让它自己保存结果!
干杯
发布于 2010-03-01 23:40:02
试试这个:
from matplotlib import mlab
psdResults = mlab.psd(inputData, NFFT=512, Fs=sampleRate, window=blackman)这会改善这种情况吗?
https://stackoverflow.com/questions/2356695
复制相似问题