gpt4 book ai didi

python - Dask.bag.map_partitions 函数接收生成器而不是列表

转载 作者:太空宇宙 更新时间:2023-11-03 14:08:46 24 4
gpt4 key购买 nike

我正在运行一个如下所示的 dask 图表:

dask.bag.from_delayed(...).pluck(FEATURE_NAME).map(map_func).map_paritions(part_func)

我在执行 part_func 时遇到错误,结果是接收生成器而不是 map_func 返回的包项。

这感觉就像是图形优化,我确实找到了 lazify_task 并认为它与该问题以及 reify 图形节点(我找不到任何文档)。

虽然在 part_func 的开头添加 values = list(values) 行似乎可以解决手头的问题并让我的图表继续运行,但我觉得我可能会这里缺少一些关于内部实现、优化和/或构建图表的方法的信息。

最佳答案

是的,您的理解是正确的,dask bag 中的分区通常是有限生成器而不是列表。这使得它们能够在更少的内存中运行。

如果您希望始终与列表交互,那么您可以按照您的建议,在输入上调用 list ,或者在您的列表之间调用 map_partitions(list) 调用操作。

lazify_taskreify 这样的优化通常被认为是内部的,可以随时更改。我不建议构建依赖于它们的应用程序。这也是它们没有被优先记录的部分原因。

关于python - Dask.bag.map_partitions 函数接收生成器而不是列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48673015/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com