问题标签 [dask]
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.
python - dask 进程由于某种原因没有终止
num_workers
当我设置为大(如 10)时,我的 dask 子进程由于某种原因没有终止。我的工作是在 100+ 核心机器上运行,并在 50GB 文件上运行类似于字数统计的代码。堆栈跟踪如下所示:
(对于其他工人也是如此)
知道发生了什么吗?在较小输入 (100MB) 上运行的相同作业总是终止。
python - 使用 dask 多线程模块
我正在尝试使用 dask 的多线程模块。这段代码
执行时打印('class:', <type 'tuple'>)
,但如果我改为运行注释行(即不使用multiprocessing.get
),那么我实际上得到了正确的结果100 ('class:', <type 'int'>)
我做错了什么吗?
相关问题:get
当没有指定任何内容时,dask 中的默认值是什么?
python - 使用 Python xarray 使用“where”进行屏蔽不再起作用
更新后我遇到了麻烦xarray
。
我有一个盐度数据集,其尺寸为:
对于特定站点,我想获得所选深度的盐度,例如 -10 m。维度层包含随时间变化的深度值,即,给定层包含随时间变化的不同深度值(由于水位变化)。
以前我在做以下事情:
这工作得很好。
但是现在我收到了这个错误:
有人知道这里发生了什么吗?
或者有没有更聪明的方法来分割我的数据集?
我使用的 xarray 版本是:
xarray 0.7.2
系统版本:
编辑:添加的数据集详细信息
python - 来自平面文本文件的分布式 dask 矩阵
我正在尝试将矩阵的平面文本文件(制表符分隔)表示形式读取到dask
数组中,distributed
用于将数组的块分布在集群中。
(旁白:这与 PySpark 的sc.textFile
方法没有什么不同)
但是,我不清楚如何使用可用的工具将文本文件解析为矩阵结构。在 PySpark 中,我可以使用一个简单map
的 UDF 来完成此操作,该 UDF 将每一行拆分为一个空格并将标记转换为浮点列表,最后将列表转换为 [indexed] numpy 数组。
我从dask.bag.read_text
方法开始,它有一个collection
我可以设置的参数,False
所以它给了我一堆Delayed
期货。如何将这些解析为最终矩阵的行?
这仅返回一个未来。如何为文本文件中的每一行生成未来?
python - 将 Bag.to_textfiles 与 dask 一起使用时,出现错误“AttributeError:'dict' object has no attribute 'endswith'”
标题说明了大部分内容,但有问题的对象是:
但是当我尝试
我明白了
低版本:0.9.0
系统版本
3.5.1 |蟒蛇4.0.0 (x86_64)| (默认,2015 年 12 月 7 日,11:24:55)[GCC 4.2.1(Apple Inc. build 5577)]
感谢您的关注!
python - Dask Bag.to_textfiles 适用于单个分区而不是多个分区
非常简单..这是一个错误还是我错过了什么?
tmp_j
是一个单品6个隔板的包。但是,我对较大的袋子也有类似的反应。
这个特殊的袋子是用以下材料制成的:
看起来像:
再次感谢..
工作正常,(写入文件),但
给
注意:那是
工作正常(但同样,tmp_b.npartitions == 1
)。
再次感谢您的见解-我确实查看了源代码,但后来意识到我的聪明/懒惰比率太低了。
当我确信我已经掌握了这一点时,我会提交文档。
python - 使用 dask 进行大矩阵运算的内存耗尽
目前我正在实施这篇论文,但我只使用马氏度量学习(如果你好奇的话)。
简而言之,当我需要学习一个由整数组成的大小为 67K*67K 的矩阵时,我遇到了一个问题,numpy.dot(A.T,A)
其中 A 是一个大小为 (1,67K) 的随机向量。当我这样做时,它只是抛出 MemoryError,因为我的 PC 只有 8gb 内存,并且所需内存的原始计算是 16gb 来初始化。比我寻找替代品并发现dask。
所以我继续处理这个问题dask.array.dot(A.T,A)
并完成了。但是,我需要对该矩阵进行白化转换,并且在 dask 中,我可以通过获取SVD来实现它。但是每次我执行 SVD 时,ipython 内核都会死掉(我认为是因为内存不足)。
这就是我从 init 到内核死亡为止所做的事情:
我还没有得到 U、S 和 Vt。
即使我使用 dask,我的记忆力是否还不足以做这些事情?或者实际上这不是规范问题,而是我糟糕的内存管理?或者是其他东西?
在这一点上,我正在拼命尝试其他更大规格的 PC,所以我打算租用 32gb 内存的裸机服务器。就算我这样做,也够了吗?
arrays - dask.array.reshape 非常慢
我有一个迭代构建的数组,如下所示:
然后重塑为:
我这样做是因为 dask.array.atop 似乎不允许你从这样的形状开始:(200,200) -> (200,200**2)。我认为这与分块和惰性评估有关。
当我执行第 4 步并尝试重塑它时,dask 似乎想要在重塑之前计算矩阵,这会导致大量的计算时间和内存使用。
有没有办法避免这种情况?
根据要求,这是一些虚拟代码:
python - 使用 dask.array.core.map_blocks 并行化 3D numpy 数组计算
我有一个 3D numpy 数组(维度:深度、纬度、经度),我正在尝试使用每个纬度点沿深度轴的数据进行一些并行计算,但到目前为止我一直没有成功。我查看了文档,dask.array.core.map_blocks
但没有帮助。这是我正在做的事情:
baroclinic.neutral_modes_from_N2_profile 是我的功能。我收到如下错误:
谁能告诉我为什么这会给我一个 AssertionError?先感谢您!
python - 如何在 Pandas 中使用 apply 并行化许多(模糊)字符串比较?
我有以下问题
我有一个包含句子的数据框主控,例如
对于 Master 中的每一行,我使用fuzzywuzzy
. 我使用了fuzzywuzzy,因为两个数据帧之间的匹配句子可能会有所不同(额外的字符等)。
例如,奴隶可以是
这是一个功能齐全、精彩、紧凑的工作示例 :)
100 万美元的问题是:我可以并行化上面的应用代码吗?
毕竟,其中的每一行都master
与其中的所有行进行比较slave
(从属数据集是一个小数据集,我可以将许多数据副本保存到 RAM 中)。
我不明白为什么我不能运行多重比较(即同时处理多行)。
问题:我不知道该怎么做,或者那是否可能。
非常感谢任何帮助!