繁体   English   中英

dask延迟计算列表object

[英]Compute list of dask delayed object

我已经提供了所有类似的问题和解决方案,但没有得到想要的 output。

我有一个 dask 延迟对象的列表。

for i in my_list:
   projection = Projection(self.expression, i)
   fi = projection.decode()
   var.append(fi)

其中 Projection 是 class 具有解码 function 具有 @dask.delayed 装饰器。 在这个 function 内部,我们正在拟合随机森林。

变量是:

[Delayed('decode-82afe417-9d1e-48ff-95a3-02ddc90c6970'), 
Delayed('decode-0a872626-996a-4a19-8b45-b39acb44257f'), 
Delayed('decode-cfa53fd4-cf5b-47f1-a672-440dc5f5ca35'), 
Delayed('decode-29cf7f51-2e7a-4c9d-8ac0-bc2259d50b6f'), 
Delayed('decode-2edc8324-f9df-4402-a1ed-44a6a9067f1d'), 
Delayed('decode-05de7417-49a5-40b7-8098-f2aad50bd934'), 
Delayed('decode-80916f08-2d28-4811-9ab4-e526af978aac'), 
Delayed('decode-da4a8874-77b5-4d75-aede-c96b5e73e888'), 
Delayed('decode-1c1fe7f0-a32b-4a0a-9d13-bb45710a3738')

现在我想计算这个var并想得到一个列表或数组或 dataframe。 为此,我尝试了各种选择:

选项1

dask.compute(*var)

选项2

v = dask.array.from_array(np.array(var), chunks=(100,))
dask.array.compute(*v)

选项3

v = dask.array.from_delayed(np.array(var))
dask.array.compute(*v)

选项4

v = dask.array.from_delayed(np.array(var))
v.compute()

但在所有情况下,我要么再次获得延迟对象列表,要么超时。

提前致谢。

选项 1 似乎是最合适的选项,选项 3 和 4 将生成延迟对象列表,因为在这些选项中v包含嵌套延迟对象。

这将有助于了解有关设置(本地/分布式)、数据量级、计算强度和 dask 仪表板上的活动的更多详细信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM