问题标签 [doparallel]

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 回答
444 浏览

r - 嵌套的 foreach 和 dopar - 引导每一行数据帧

我有看起来与此类似的数据框:

我的目的是选择每一行,执行引导重采样,找到 95% 置信区间的分位数,并将 CI 输出到具有 2 列和与原始数据帧相同行数的数据帧。这个带有嵌套 foreach 和 %do% 的函数运行良好,但在迭代次数较多(例如 1000 次)和数据帧较多的情况下速度较慢:

我一直试图找出一种方法来使用 %dopar% 进行并行处理,但不能完全掌握它:

有没有人有关于如何修改代码以通过正确实现 %dopar% 或其他一些巧妙的技巧来使其运行得更快的建议?

0 投票
0 回答
98 浏览

r - foreach 可以同时选择性地使用多个后端(doParallel 和 doRedis)吗?

我正在处理大小约为 1 Gb 的文件。处理可以分为两个步骤,一个取决于大文件,第二个取决于较小的数据量。我可以为 doParallel 后端排队一些 foreach 命令,同时用 doRedis 后端排队其他 foreach 命令吗?

这里的目标是由于内存和网络 IO 限制而使远程作业保持较小,同时还利用我拥有的几个本地内核进行预处理/后处理。

0 投票
1 回答
673 浏览

r - 如何在不搞乱会话的情况下停止 foreach %dopar%

我在 R 中大量使用 foreach dopar 来利用多核来加快在交互式会话中进行临时分析的速度。

但是我有时注意到,如果我通过按 control-c 从并行化的 for 循环中跳出(通常是当我意识到我在工作线程中出现问题时),会话将在我使用 foreach 的意义上变得混乱再次使用dopar,事情将仅由一个线程执行(顶部不会像往常一样显示多个进程,而且与并行化工作相比,这项工作需要很长时间)。它不会在每个 control-c 上发生,但频率足以令人讨厌(从全新的会话重新加载会话的所有内容可能很烦人)

有没有办法防止这种情况发生,或者至少有办法在它发生时修复环境?

0 投票
1 回答
39 浏览

r - 高效且有选择地组合 R 中的列

我有以下数据

我想创建一个新列 country_final_str ,该列按以下偏好顺序填充国家数据:

我还使用以下方法来描述国家收入水平:

我有以下 for 循环,但由于我有超过一百万条记录,它需要很长时间:

有什么提高效率/摆脱 for 循环的想法吗?我想不出办法apply/lapply/tapply,而且我在 Windows 上,所以我使用并行化代码的努力doParallel失败doSNOW了。

有关列问题的正确答案,请参见@thelatemail 下面的内容。对于国家收入水平,我执行了:

0 投票
0 回答
316 浏览

r - 如何将 foreach 用于循环内具有多个操作的复杂嵌套循环?

我有这个代码 - 见下文。我想使用 R foreach 功能对其进行转换,因此我使用并行处理。

但是,我没有看到明显的方法,因为每个循环中有多个操作。

有什么想法吗?

0 投票
1 回答
1685 浏览

r - 并行运行 RSelenium

我将如何RSelenium并行运行。

下面是一个rvest并行使用的例子

0 投票
1 回答
5165 浏览

r - R:在 foreach %dopar% 中显示错误和警告消息

我是使用 foreach() %dopar% 进行并行处理的新手,我对它如何处理错误或警告有一些问题。

  1. 当我在 foreach() %dopar% 中将 try() 与我的自定义错误消息一起使用时,“本机”错误消息不会显示:

    在这种情况下,“本机”错误消息:Error in "a"/2 : non-numeric argument to binary operator不会显示,并且只会Error!打印 from try() 错误捕获。然而,当不使用 foreach() %dopar% 时,两个错误信息都会被打印出来。那么如何让两个错误信息都显示出来呢?

  2. 在上述情况下,当有警告时,无论是否附加错误,都不会打印警告消息,例如使用与上面和test()下面相同的 foreach() 块:

    那么如何显示警告呢?

ps 我发现如果我只是在 %dopar% 中使用 try(test(i)) ,那么将打印“本机”错误消息和警告,但我确实想在现实生活中包含我自己的错误消息。我也尝试过使用tryCatch()而不是try(),但它并没有解决问题。

谢谢!

0 投票
1 回答
1355 浏览

r - cv.glmnet 并行和内存问题

这是我第一次使用一般的并行处理。问题主要是关于我糟糕的语法。

我需要一些帮助来捕获大量 cv.glmnet 迭代的输出,因为我相信我已经将 cv_loop_run 构建为非常低效。这与 10k 的 lambda 数量一起导致了一个巨大的矩阵,它占用了我所有的内存并导致崩溃。本质上,我需要的是每次运行的最小值1se lambda(其中 1000 个,而不是全部 10,000 个)。因此,我不会为 cv_loop_run 捕获一个 1kx10k 的列表,而是得到一个 1k 长的列表。

0 投票
0 回答
692 浏览

r - foreach 错误:正在中止...反序列化(nodecon)中的错误:从连接读取错误

有时,我的 R 实例正在悄然死亡。我正在使用 foreach 进行并行处理。我正在使用 16 核和 64GB ram 机器。我正在使用以下代码来执行 foreach。

我在“mkclog”日志文件中发现了以下错误。我在Error calling serialize R functionhttps://github.com/stan-dev/rstan/issues/243中发现了相同的错误。工人死亡导致退出现有的 R 会话。有什么解决办法吗?

我怀疑30: (function (args) { lapply(names(args), function(n) assign(n, args[[n]], pos = .doSnowGlobals$exportenv)) tryCatch(eval(.doSnowGlobals$expr, envir = .doSnowGlobals$exportenv), error = function(e) e)})(quote(list(l = 8L)))

0 投票
0 回答
182 浏览

r - 在 R 中使用“foreach”和“dopar”运行 lmer 时出错

我正在尝试使用“foreach”和“dopar”运行混合模型,但我不断收到一条错误消息,提示“任务 1 失败 - ”找不到函数“lmer””。

这是一个例子:

非常感谢您对此的任何帮助。