Scipy griddata在循环中失效/内存泄漏
for i in range(100000):
grid_z1 = griddata(points, values, (grid_x, grid_y), method='linear')
我在使用Scipy的griddata函数时遇到了一个问题,特别是在循环里面使用的时候。简单来说,就是在循环运行的过程中,内存一直在增加,根本停不下来。
如果你想重现这个问题,可以把下面的例子放到一个循环里:
http://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.griddata.html
我的Python版本是2.7.3,numpy版本是1.7.0,scipy版本是0.12.0b1。我是在Windows 7上运行的。
这是一个bug吗?我该如何在不出现内存泄漏问题的情况下多次进行插值计算呢?
还有其他代码:
def func(x, y):
return x*(1-x)*np.cos(4*np.pi*x) * np.sin(4*np.pi*y**2)**2
grid_x, grid_y = np.mgrid[0:1:100j, 0:1:200j]
points = np.random.rand(1000, 2)
values = func(points[:,0], points[:,1])
for i in range(100000):
grid_z1 = griddata(points, values, (grid_x, grid_y), method='linear')
提前谢谢你。