Dask Scatter 广播列表
Dask scatter broadcast a list
使用 Dask 分布式分散广播列表的合适方法是什么?
案例 1 - 包装列表:
[future_list] = client.scatter([my_list], broadcast=True)
情况 2 - 不包装列表:
future_list = client.scatter(my_list, broadcast=True)
在 Dask 文档中我看到了两个示例:1. wrapping (see bottom example) and 2. not wrapping。根据我的经验,案例 1 是最好的方法,如果案例 2 构建 Dask 图(在我的用例中很大)需要更长的时间。
什么可以解释图形构建时间的差异?这是预期的行为吗?
提前致谢。
托马斯
如果您使用 list
调用 scatter,那么 Dask 将假设该列表中的每个元素都应该独立分散。
a, b, c = client.scatter([1, 2, 3], ...)
如果你不想要这个,如果你真的只是想让你的列表作为一个单独的数据来回移动,那么你应该把它包装在另一个列表中
[future] = client.scatter([[1, 2, 3]], ...)
使用 Dask 分布式分散广播列表的合适方法是什么?
案例 1 - 包装列表:
[future_list] = client.scatter([my_list], broadcast=True)
情况 2 - 不包装列表:
future_list = client.scatter(my_list, broadcast=True)
在 Dask 文档中我看到了两个示例:1. wrapping (see bottom example) and 2. not wrapping。根据我的经验,案例 1 是最好的方法,如果案例 2 构建 Dask 图(在我的用例中很大)需要更长的时间。
什么可以解释图形构建时间的差异?这是预期的行为吗?
提前致谢。
托马斯
如果您使用 list
调用 scatter,那么 Dask 将假设该列表中的每个元素都应该独立分散。
a, b, c = client.scatter([1, 2, 3], ...)
如果你不想要这个,如果你真的只是想让你的列表作为一个单独的数据来回移动,那么你应该把它包装在另一个列表中
[future] = client.scatter([[1, 2, 3]], ...)