Dask是否支持自定义图形中具有多个输出的函数?

2024-10-03 00:27:50 发布

您现在位置:Python中文网/ 问答频道 /正文

DaskCustom GraphsAPI似乎只支持返回一个输出键/值的函数。在

例如,以下依赖项不容易表示为Dask图:

    B -> D
   /      \
A-         -> F
   \      /
    C -> E

这可以通过将一个元组存储在“composite”键下(例如在本例中为“B\C”),然后通过getitem()或类似的方式将其拆分。但是,这可能导致执行效率低下(例如不必要的序列化),并降低DAG可视化的清晰度。在

是否有更好的方法或目前不支持?在


Tags: 方法函数序列化可视化custom方式dask元组
1条回答
网友
1楼 · 发布于 2024-10-03 00:27:50

简短回答

不,但没关系。在

编程接口

使用Dask管理多个输出的正确方法是使用getitem。在编程接口方面,使用达斯克。延迟和你建议的一样。下面是一个例子:

from dask import delayed

@delayed(pure=True)
def minmax(a, b):
    if a > b:
        return a, b
    else:
        return b, a

result = minmax(1, 2)
min, max = result[0], result[1]

性能

你提出了一个关于性能的有趣问题。在实践中,使用distributed scheduler(在一台机器上工作正常)应该可以很好地处理这种情况,而不会影响性能。对于单机线程调度程序也是如此。在

相关问题 更多 >