2

ループ内で Scipy の griddata を使用すると問題が発生します。基本的に、ループの実行中にメモリが際限なく増加します。

問題を再現するには、例を入れるだけです

http://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.griddata.html

ループ内:

for i in range(100000):

    grid_z1 = griddata(points, values, (grid_x, grid_y), method='linear')

Python のバージョンは 2.7.3、numpy のバージョンは 1.7.0、scipy のバージョンは 0.12.0b1 です。Windows 7で実行しています。

これはバグですか?メモリ リークの問題を発生させずに補間を何度も繰り返すにはどうすればよいですか?

コードの残りの部分:

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')

前もって感謝します。

4

1 に答える 1

0

これは Cython のバグであり、Scipy の最終 0.12.0 リリースで回避する必要があります。

于 2013-03-17T17:21:35.523 に答える