我正在尝试将以下numpy操作转换为dask,但由于这是可变操作,因此在NotImplementedError: Item assignment with <class 'tuple'> not supported
语句中出现distMap[:, i] = da.sqrt(xSum + ySum).min(axis=0)
错误。
以下是代码:
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
distMap[:, i] = da.sqrt(xSum + ySum).min(axis=0)
我检查了这个答案(Item assignment to Python dask array objects),它说的是一种我无法理解的方法。此外,还提到了da.where
方法,但我无法进一步找到有关它的文献。
怎么做?