问题标签 [dask-delayed]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
765 浏览

python - 使用 Python 和 Dask 计算欧几里得距离

我正在尝试识别欧几里德距离矩阵中低于某个阈值的元素。然后,我获取此搜索的位置参数并使用它们来比较第二个数组中的元素(为了演示,这个数组是 PCA 的第一个特征向量,但排序是我的问题最相关的部分)。该应用程序需要适用于未知数量的观察,但应该有效地运行数百万。

# #

我的问题是两个方面。

首先,欧几里得距离矩阵很快变得太大,无法简单地应用 scipy.spatial.distance.cdist()。为了解决这个问题,我在数据集上批量应用 cdist 函数并迭代地实现搜索。

# #

第二个问题是迭代构建距离矩阵导致的运行时问题。当我采用迭代方法时,运行时间呈指数增长。由于迭代方法的性质,这并不意外。

# #

由于问题的性质,这些问题都不是意外的。为了尝试解决这两个问题,我尝试使用 dask 在 python 中实现大型数据框架,并在批处理过程中插入并行化。但是,这并没有导致时间计算的显着改进,而且我在 dask 中使用这种迭代方法有一个非常严格的内存限制(需要一次批量处理 1000 个 obs。

我希望我可以并行化比较以提高我的速度,但我不确定如何在 python 中实现它。对此的任何帮助,或有关如何改进初始比较代码的任何建议将不胜感激。

0 投票
1 回答
186 浏览

python - 如何从由制表符和换行符分隔的数据字符串创建 dask 数据帧

我的数据格式为字符串,由 \ 字符(用于列)和换行符 \n 用于行分隔。

看起来 Dask.array.from_array() 只支持一个数组作为输入。

虽然我可以将上述文本转换为 np.array 使用

想知道是否有相当于直接将字符串转换为 dask 数组或数据帧的东西。

0 投票
1 回答
94 浏览

dask - Dask 延迟缓存

将缓存集成到 dask 延迟图中的当前最新技术是什么?我有大型图表,这些图表的路径将显着受益于持久缓存(即磁盘,并由参数散列),用于图表的每次单独运行(即跨处理)。

我的期望是有一个我可以在图形优化阶段集成的 api,在适当的地方用从磁盘加载的常量替换节点。看起来 cachey 应该是我的切入点,但我无法让它与纯 dask 延迟示例一起工作。

0 投票
1 回答
92 浏览

dask - 如何组合延迟函数调用的顺序执行和并行执行?

我被困在一个陌生的地方。我有一堆延迟的函数调用,我想按特定顺序执行。虽然并行执行是微不足道的:

我似乎找不到以非阻塞方式按顺序执行它们的方法。

这是一个最小的例子:

给定上面的例子,我想并行运行seq1,par1和, 但: "foo", "bar", 和 "baz" 的组成部分是按顺序运行的。par2seq1

0 投票
1 回答
583 浏览

python - 使用延迟(DASK)读取大型 CSV 文件

delayed用来读取许多大型 CSV 文件:

  • function_1: 导入数据集 1 并进行一些计算。
  • function_2: 导入数据集 2。
  • function_3:合并数据集和一些计算。

接下来,我使用一个循环来调用这些delayed函数。我有很多 CSV 文件,每个文件都超过 500MB。这是使用 DASK ( delayed) 完成我的任务的合适程序吗?

0 投票
0 回答
102 浏览

python-3.x - 我想对 dask 数据框进行词形还原,但我被卡住了

我是 dask 的新手,想知道是否有人可以帮帮我。我有一个 >20GB 的大型文本数据集,需要/想要对列进行词形还原。我目前的功能 - 直接与熊猫一起使用的是

通常会做以下事情

我正在看,delayed但我对如何实现它感到困惑。

非常感谢任何帮助。

0 投票
1 回答
1764 浏览

python-3.x - 如何使用 dask.distributed 并行化嵌套循环?

我正在尝试使用看起来像这样的 dask 分发并行化嵌套循环:

如您所见,我正在使用distributed调度程序。首先,我创建了一个computations带有惰性delayed_b函数的列表,该函数将list. 然后,delayed_b创建一组computations正在调用delayed_a函数的新集合,并且所有内容都在分布式中执行。这个伪代码正在工作,但我发现如果delayed_a不存在它会更快。那么我的问题是——进行分布式并行 for 循环的正确方法是什么?

在历史的尽头,我想做的是:

对于使用dask.distributed.

0 投票
1 回答
182 浏览

python - Dask 在 Dask 图中可视化多个输出节点

我正在创建的 Dask 图有多个输出。

我想知道是否可以同时可视化多个 dask 输出。

当我尝试使用dask.visualize(graph). Daskgraph节点的元组或字典在哪里。它似乎因生成空图像而失败。

例如:

0 投票
1 回答
95 浏览

dask - 如何与 Dask 一起运行一组节点

我有一个图像处理图,我想批量处理许多图像。我的图表如下所示: 我的图表由延迟函数组成

当我运行图形散景显示执行路径是这样的: 我如何观察它在散景中运行

这会导致我的机器内存不足并崩溃,因为加载图像的输出是兆字节的图像。我希望图表像这样运行,因为 Save 结果非常小,应该没问题: 我希望它如何在散景中运行

我怎么能用 dask 做到这一点?

自定义优化似乎在我可以融合中间节点的地方很有用。这是最好的方法吗?

0 投票
1 回答
2285 浏览

python - 控制 dask 中的核心/线程数

我有一个具有以下规格的工作站:

我已经实现了 dask 来分发一些计算,并且我正在设置一个Client()

当我delayeddask.compute(*computations, scheduler='distributed'). 仪表板如下所示:

显示所有资源已使用的仪表板

现在,如果我继续并将我的更改Client()为:

我希望使用我一半的资源,但正如您在我的仪表板上看到的那样,情况并非如此。

一半资源未使用

为什么 daskClient()仍在使用所有资源?我将不胜感激对此的任何意见。