Python dask中不支持项分配的解决方法
我正在尝试将我的代码库从numpy数组转换为dask,因为我的numpy数组超出了Python dask中不支持项分配的解决方法,python,python-3.x,dask,dask-distributed,Python,Python 3.x,Dask,Dask Distributed,我正在尝试将我的代码库从numpy数组转换为dask,因为我的numpy数组超出了内存错误限制。但是,我知道可变数组的特性还没有在dask数组中实现,所以我得到了 NotImplementedError:不支持的项目分配 下面我的代码有什么解决方法吗- for i, mask in enumerate(masks): bounds = find_boundaries(mask, mode='inner') X2, Y2 = np.nonzero(bounds) X2 =
内存错误
限制。但是,我知道可变数组的特性还没有在dask数组中实现,所以我得到了
NotImplementedError:不支持的项目分配
下面我的代码有什么解决方法吗-
for i, mask in enumerate(masks):
bounds = find_boundaries(mask, mode='inner')
X2, Y2 = np.nonzero(bounds)
X2 = da.from_array(X2, 'auto')
Y2 = da.from_array(Y2, 'auto')
xSum = (X2.reshape(-1, 1) - X1.reshape(1, -1)) ** 2
ySum = (Y2.reshape(-1, 1) - Y1.reshape(1, -1)) ** 2
#Failing on below line
distMap[:,i] = da.sqrt(xSum + ySum).min(axis=0)
break
我还尝试在dask中计算所有其他计算,并使用distMap
作为numpy数组,但仍然得到内存错误。
欢迎任何解决方法。也许您可以构造许多dask数组,然后使用da.concatenate
或da.stack
将它们合并到单个dask数组中