2024-10-03 00:27:50 发布
网友
Dask的Custom GraphsAPI似乎只支持返回一个输出键/值的函数。在
例如,以下依赖项不容易表示为Dask图:
B -> D / \ A- -> F \ / C -> E
这可以通过将一个元组存储在“composite”键下(例如在本例中为“B\C”),然后通过getitem()或类似的方式将其拆分。但是,这可能导致执行效率低下(例如不必要的序列化),并降低DAG可视化的清晰度。在
getitem()
是否有更好的方法或目前不支持?在
不,但没关系。在
使用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(在一台机器上工作正常)应该可以很好地处理这种情况,而不会影响性能。对于单机线程调度程序也是如此。在
简短回答
不,但没关系。在
编程接口
使用Dask管理多个输出的正确方法是使用getitem。在编程接口方面,使用达斯克。延迟和你建议的一样。下面是一个例子:
性能
你提出了一个关于性能的有趣问题。在实践中,使用distributed scheduler(在一台机器上工作正常)应该可以很好地处理这种情况,而不会影响性能。对于单机线程调度程序也是如此。在
相关问题 更多 >
编程相关推荐