将 dask.compute 与延迟项数组一起使用

Using dask.compute with an array of delayed items

目前,我可以创建(嵌套)对象列表,这些对象是急切计算的项目和延迟项目的混合体。

如果我将该列表传递给 dask.compute,它可以创建图形并将结果计算为一个新列表,用计算的对应项替换延迟项。

该列表具有我想要利用的非常明确的结构。因此,在使用 Dask 之前,我一直在使用带有 dtype=object.

的 numpy 数组

我可以将这些 numpy 数组传递给 dask.compute 吗? 是否有其他支持 ND 切片 à la numpy 的集合可供我使用?

我目前的解决方法是使用字典或嵌套列表,但对 numpy 数组进行切片的功能非常好,我不想放弃它。

谢谢,

马克

code example as notebook

Dask.compute 目前只搜索核心 Python 数据结构,如列表和字典。它不会搜索 Numpy 数组。

您可能会考虑使用 Numpy 数组直到最后,然后调用 .tolist() 然后再次调用 np.array。

结果 = dask.compute(*x.tolist()) 结果 = np.array(结果)