问题标签 [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 投票
0 回答
40 浏览

r - 对行或列的操作

我有一个在 R 中运行的操作,并且想知道是否有任何规则集可以帮助我确定是否要对行或列执行操作,因为转置矩阵是编程偏好的问题否则。

到目前为止,我唯一的常规建议是:每次都在子样本上进行测试。我们能否以任何方式做得更好,比如:除法最好长于宽?如果我们不能做得更好,为什么不呢?

我已将我感兴趣的具体操作编程如下,但请记住,我对此一般比具体更感兴趣:

support_n:我正在调查的一些矩阵。即,(N) x (K 选择 N)。K>50,N>4

fz():多个变量、多项式、最大值和最小值的平淡函数。

那么我应该首先在 y 或 x 上运行它吗?为什么?

0 投票
0 回答
432 浏览

r - R 中的 maxLik 与 doParallel 和 foreach 一起使用,以加快实现速度

我需要对包含 31000 个观测值的数据集进行 MLE 估计,并使用对数似然函数自编码。数据集有 21 个参数需要估计。为了进行估计,我在 R. Hessian 中使用了带有 newton-raphson 方法的 maxLik 包,并且未将对数似然函数的梯度赋予函数本身。以下是如何读取数据以及如何计算对数似然函数。

[编辑@Patric,使用随机数据]

上面的代码运行很慢。MLE 估计需要几天时间。因此,我根据分层随机抽样对数据进行了抽样,并将其从 31000 个观测值减少到 5000 个观测值。

然而,它仍然运行缓慢。因此,我决定使用 doParallel 和 foreach 库的后端函数在对数似然函数中并行化 for 循环。这是我添加和更改的 for 循环:

我不熟悉并行计算,我阅读了很多关于并尝试在较小的函数示例中实现我学到的东西。假设 V0、V1、V2、V3 和 V4 都用常量定义,上述结构在相同的代码中工作,只有五个参数。5分钟左右比较快。然而,当我用 21 个参数运行上述模型以估计 5000 个观测值的采样数据时,它再次变得非常缓慢。

有没有其他方法可以让 maxLik 函数运行得更快?任何线索或提示,以及任何关于更快运行时间的阅读材料都值得赞赏。我使用搜索键“maxLik”、“parallel in R”等检查了网站,但找不到建议或问题。

PS:由于没有样本数据,该问题可能会被标记为负面,但由于机密性,我无法提供样本数据。

提前致谢

0 投票
1 回答
1681 浏览

r - R doParallel foreach 对独立工作者进行错误处理

我必须运行很多随机森林模型,所以我想在我的 8 核服务器上使用 doParallel 来加速这个过程。

然而,有些模型需要比其他模型更长的时间,甚至可能会抛出错误。我想并行运行 8 个模型,如果模型抛出错误和/或被跳过,那么工作人员应该继续。每个模型结果都保存在硬盘上,以便我以后可以访问和组合它们。

或者

没有解决问题。我明白了

代码示例:我用 %do% 试了一下,模型 2-7 运行成功。然而在 %dopar% 我得到了显示的错误

0 投票
2 回答
1427 浏览

mysql - { 中的 FOREACH LOOP 错误:任务 1 失败 - “找不到函数“dbGetQuery””

我在 R 中的简单实现方面非常熟练,但是我不熟悉通过 R 和并行编程与 SQL 进行通信(在今天之前没有这两个方面的经验)。我编写了以下代码,其中包含来自博客、论坛等的提示。

此计算在 for 循环中工作,但需要永远(我必须将其应用于 LARGE 数据集!)。当我运行上面的代码时,我得到下面的错误!有人可以告诉我为什么会出现错误以及如何解决它!

{ 中的错误:任务 1 失败 - “找不到函数“dbGetQuery””

0 投票
2 回答
11816 浏览

r - doParallel “foreach” 不一致地从父环境继承对象:“{ 中的错误:任务 1 失败 - “找不到函数...”

我对 foreach 有一个我无法弄清楚的问题。以下代码在我尝试过的两台 Windows 计算机上失败,但在三台 Linux 计算机上成功,它们都运行相同版本的 R 和 doParallel:

在这两台 Windows 计算机上,返回以下错误:

但是,这在 Linux 计算机上工作得很好,并且在使用 %do% 而不是 %dopar% 时也工作得很好,并且对于常规的 for 循环也工作得很好。

变量也是如此,例如设置i <- 10return(x + f())替换return(x + i)

对于其他有同样问题的人,两种解决方法是:

1) 使用 .export 显式导入所需的函数和变量:

2)导入所有全局对象:

这些变通办法的问题在于,它们对于一个大型的、积极开发的包来说并不是最稳定的。在任何情况下,foreach 都应该表现得像 for。

关于导致此问题的原因以及是否有解决方法的任何想法?


该功能适用​​的计算机的版本信息:

该功能不起作用的计算机:

0 投票
1 回答
473 浏览

r - 使用doParallel时如何识别网络计算机

我正在尝试doParallel在多个 Windows PC 上使用(在网络上)。有人告诉我使用以下程序

虽然我知道“localhost”是我的主 PC 的默认标识符,但“node001”是我不明白的。如何识别网络上的其他计算机?我尝试了IP地址,但他们无法连接。

0 投票
2 回答
520 浏览

r - 如何在嵌套的 foreach 循环中访问计数器?

因此,到目前为止,我只编写了少数 R 代码(准确地说是 2 个项目),这可能证明了这个问题对于经验丰富的程序员来说是多么愚蠢。

我正在尝试并行化我的 K 折交叉验证代码,该代码旨在找到用于最终模型的最佳变量集。

代码有点像这样

综上所述——我取parentModel,一一去掉变量,运行K折交叉验证,收集结果。但是我不断收到错误

有人可以帮我吗?

编辑:我在 Windows 7 上。

0 投票
3 回答
1838 浏览

r - 在 R doParallel foreach 循环中运行 ovun.sample

我只是无法在并行 foreach 中工作 ovun.sample。

下面是最小的工作示例。

我得到错误:

任何想法我错过了什么。或者可能是另一个类似于 ROSE 的过/过采样包,可与 doParallel 一起使用?在 Windows 上运行。

0 投票
0 回答
244 浏览

r - 在 Windows 操作系统中使用 doParallel-foreach 时出错

我正在尝试doParallel用于并行化我的查询。我正在尝试col_funcs在同一个脚本中使用该函数bsp_functions.R

它给出了以下错误:

看完这篇文章后.export,我通过将函数传递给全局环境来更改我的代码如下。

现在,它给出了以下错误。

任何帮助,将不胜感激。

0 投票
0 回答
597 浏览

r - doParallel 和 caret 包的并行处理错误

我在 ubuntu LXC 容器中运行 R,该容器位于具有 32 个内核的服务器上。我正在使用 caret 包运行并行随机森林模型,使用不同数量的内核:

当我使用cores <- 1它时,它以串行方式运行,没有错误。

当我使用时,在cores <- 2运行之前我不会出错stopCluster(cl),此时我得到:

(请注意,这是在该过程已经成功完成之后,并行,如 确认top。)

如果我使用cores <- 4或更多,除了在我停止集群时对每个核心重复上述警告之外,我还会 Error in unserialize(socklist[[n]]) : error reading from connection 在计算完成之前得到。

无论我是在 Rstudio Server 中还是在控制台中运行计算,这种行为都是相同的。我从我的一位同事那里得到了这段代码,他以前能够使用所有 32 个内核运行此计算而没有错误。我认为可能是 Rstudio Server 泄漏了内存,但我找不到证据。(跑步rm()gc()无济于事)。

知道什么可能导致这些错误吗?