问题标签 [mclapply]

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 投票
1 回答
214 浏览

r - 在 R 中创建任务列表时如何传递函数参数?

我正在尝试使用 mclapply 创建要在 R 中并行运行的任务列表。

其中 y 是例如:

创建列表时,它使用参数执行函数,而不是仅将其存储为列表。(所以这是在实际到达之前mclapply。)如果我使用y没有任何参数的函数,这种方法运行良好:

其中 y 是例如:

那么如何在不执行函数的情况下将带参数的函数存储在列表中(直到我在 mclapply 中告诉它们)?

0 投票
2 回答
16307 浏览

r - R tm In mclapply(content(x), FUN, ...) : 所有计划的核心在用户代码中遇到错误

当我将以下代码运行到倒数第二行时,我收到了警告消息:

在 mclapply(content(x), FUN, ...) 中:所有计划的核心在用户代码中遇到错误

当我运行最后一行时,我得到了

"UseMethod(\"words\") 中的错误:\n 没有适用于 'words' 的方法应用于类 \"character\"\n" attr(,"class") "try-error" attr(, “健康)状况”)

以下链接是一个可重现的示例,我们可以将其复制/粘贴到 R 中并运行。

https://github.com/weijia2013/mclapply-issue/blob/master/codes

我刚开始学习 R,我会很感激你的帮助。

0 投票
1 回答
104 浏览

r - 如何在“mclapply”中转换“for”?

我有这个:

如何为“ScriptR”函数传递索引“i”?

Tks

0 投票
1 回答
958 浏览

r - 将 mclapply() 应用于写入全局变量的函数

我正在尝试使用parallel::mclapply以下代码来加快计算速度:

执行上面的代码时,一切都很好。如果使用 mclapply(如下),结果与我想要获得的结果相差甚远:直方图都是错误的。

我觉得将并行计算应用于此功能时,我缺少一些重要的东西。

0 投票
2 回答
2471 浏览

r - 如何在并行包中跟踪 R 中 mclapply 的进度

我的问题与这个问题有关。然而,上面提到的问题使用multicore包被替换为parallel. 响应中的大多数功能无法在parallel包中复制。有没有办法跟踪进度mclapply。在查看mclapply文档时,有一个名为 的参数mc.silent,我不确定这是否能够跟踪进度,如果可以,我们如何以及在哪里可以看到日志文件?我在ubuntulinux操作系统上运行。请参阅下面的一个可重复的示例,我想对其进行改进。

任何帮助将不胜感激。

0 投票
1 回答
306 浏览

r - 并行化:包“parallel”而不是“mclapply”

我正在尝试将此代码转换为可以在 Windows 上执行的代码:

基于使用本教程,我编写了以下代码...

更新:下面提供了正确的代码:

0 投票
1 回答
1061 浏览

r - R、mclapply 的环境及移除变量

我无法理解 mclapply 的行为(或者可能是其他东西)。

我做类似的事情:

loadResult从之前保存的 BatchJob 会话中加载一个结果。因此,该res对象需要 ~170MB(大约所有 100 个对象的大小都相同 +/-5MB)。执行这段代码时,内存占用符合预期:170MB*20= ~3.5GB(我使用了 20 个内核)。第二次执行这段代码时,我的机器会吸入大量内存(超过可用内存 - 所以我停止执行)。这是预期的,因为再次为每个孩子分叉了完整的环境,而我的环境现在有大约 10GBmclapply的大变量。opt.Models因此需要 10*20=200GB。

当我删除 opt.Models, 时rm(opt.Models),我仍然遇到同样的问题。mclapply 消耗的内存多于可用内存(顺便说一句:90GB)。那么,mclapply fork 哪个环境,或者 opt.Models 没有完全消失?我看不到它使用ls().

也许你们中的一个人已经观察到类似的事情。

最好的祝福,

马里奥

0 投票
0 回答
40 浏览

r - R中的应用计算中的非线性

我已经编写了相对庞大的函数(大约 500 行;包括一些数据节省、学习 ANN 并进行预测),它的输出是 data.frames 列表,但问题是当输出应该是更大的列表时(例如 30 000 个数据.frames 在这个列表中)。我以这种方式使用该功能

当我将它用于

大约需要 100 秒,每秒 10 个数据帧。但是当我使用它时,可以说

它显着减慢,大约需要 6500 秒。随着向量 c() 的增加,它越来越慢。

我试图通过减少 FUN 来解决它(对小向量 c() 的影响不大,但在更大的计算上也有同样的问题)

A 还尝试通过创建 for 循环来修复它,该循环计算 200 个案例并将它们放入空列表中,然后再计算 200 个计算,加入这个空列表(它还不是空的,它涉及最后一次计算的帧),然后再次直到最后都一样。

但结果是一样的,它再次急剧减速。我想该错误将在环境中的某个地方或某些内存问题中。有没有人有这方面的经验?任何建议如何解决它?计算仍然相同,所以我不明白为什么它对较小的计算效果很好,而对大型计算则减慢。谢谢你的建议。

0 投票
0 回答
306 浏览

r - 拆分数据以与 R 尴尬地并行?

我有一个大的 RDS 文件,我想使用 R 并行处理它。加载时该文件需要 7.3 GB 的内存。

如果我尝试使用多个内核,R 会因为内存不足而崩溃。有没有办法告诉 mclapply 使用共享内存而不是复制对象?

这是我拥有的代码:

我在具有 32 个内核和 64GB 内存的 linux 机器中运行它。

谢谢!

0 投票
1 回答
1605 浏览

r - R中的快速ANOVA计算

我有一个具有以下维度的数据框:

这些列代表我想要运行 ANOVA 的变量(即,我想要运行 433,685 ANOVA)。样本大小为 974。最后一列是“组”变量。

我想出了 3 种不同的方法,但由于测试的数量,所有方法都太慢了。

首先,让我们生成一个小的练习数据集来玩:

方法 1(基于'sapply'):

方法2(基于'parallel'包中的'mclapply'):

方法 3(基于'cbind'-ing LHS):

在实践数据集中,方法 3 是明显的赢家。但是,当我对实际数据执行此操作时,使用方法 3 仅计算 10(433,685)列需要很长时间:

不知道为什么我的实际数据需要更长的时间。我可以访问具有 16 个以上内核和 72GB RAM 的 Linux 集群。

有什么方法可以更快地计算吗?