3

运行以下代码将导致内存使用量迅速攀升。

import numpy as np
import pylab as p
mu, sigma = 100, 15
x = mu + sigma*np.random.randn(100000)
for i in range(100):
    n, bins, patches = p.hist(x, 5000)

但是,当用直接调用 numpy histogram 方法替换对 pylab 的调用时,内存使用量是恒定的(它的运行速度也明显更快)。

import numpy as np
mu, sigma = 100, 15
x = mu + sigma*np.random.randn(100000)
for i in range(100):
    n, bins = np.histogram(x, 5000)

我的印象是 pylab 正在使用 numpy histogram 函数。一定是哪里有bug...

4

1 回答 1

2

Matplotlib 生成图表。NumPy 没有。添加p.show()到您的第一个代码以查看工作的去向。

import numpy as np
import pylab as p
mu, sigma = 100, 15
x = mu + sigma*np.random.randn(100000)
n, bins, patches = p.hist(x, 5000)
p.show()

您可能想先尝试使用较小的数字以np.random.randn(100000)快速查看某些内容。

编辑

创建相同的情节 100 次真的没有意义。

于 2013-05-31T05:07:43.883 回答