假设我有以下数组:
import numpy as np
import dask.array as da
import dask
arr_x = list(range(0,100))
arr_y = list(range(0,100))
arr = np.stack([arr_x,arr_y])
arr = arr.T
然后我想将其转换为延迟的 dask 数组:
arr = da.from_array(arr,chunks = (3,2))
data = arr.to_delayed()
其格式如下:
[[Delayed(('array-fa3499f6a402676a68a198bef8016ec4', 0, 0))]
[Delayed(('array-fa3499f6a402676a68a198bef8016ec4', 1, 0))]
[Delayed(('array-fa3499f6a402676a68a198bef8016ec4', 2, 0))]
...
[Delayed(('array-fa3499f6a402676a68a198bef8016ec4', 31, 0))]
[Delayed(('array-fa3499f6a402676a68a198bef8016ec4', 32, 0))]
[Delayed(('array-fa3499f6a402676a68a198bef8016ec4', 33, 0))]]
现在我想获得一个特定的块:
chunk = da.from_delayed(data[1], shape=(3,2))
print(chunk.compute())
但是,我收到以下错误:
dsk = {(name,) + (0,) * len(shape): value.key}
AttributeError: 'numpy.ndarray' object has no attribute 'key'
我究竟做错了什么?
慕桂英3389331
相关分类