问题标签 [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.
r - 找不到对象问题
在过去的几个小时里,我有一个问题一直让我发疯。
我在 R 中使用以下包:forecast
、、、fracdiff
等。我也有以下功能。doParallel
foreach
...并且上述功能有效!
但是,如果我nnetar(training, 8, P=1, 5)
用fracdiff(training, 3, 1, h=0.00001)
函数替换开始失败并出现以下错误。
这就是有趣的地方。它实际上并没有在编辑的行上失败。它实际上在下一行失败:forecast(fit, 1)$mean
换句话说,以下确实有效。
但是之后...
抛出前面提到的关于"object 'training' not found"
编辑:根据要求......一个可重现的例子......
编辑2:好的,这个问题与并行性无关。fracdiff
这与和之间的交互有关forecast
。以下功能也不起作用
它评估为以下
r - 在 foreach 循环中运行 h2o 算法?
我天真地认为在 foreach 循环内并行多次调用 h2o.gbm 是直接的。但是遇到了一个奇怪的错误。
下面的代码
r - R doSnow/foreach 内存泄漏和太多迭代
未解决问题总结:
1. 内存不足 - 主进程需要太多内存,但不应该
我将尝试计算多种任意网络的组合,并使用 doparralel 和 foreach 遇到一些问题。对于一定规模的问题,即使使用 makeCluster(3),也只会启动一个进程。此外,我的内存不足(在 Mac 上使用 ~50GB - 错误:杀死 9 后)。奇怪的是,问题的规模已经很大了,它运行起来没有任何问题。我真的无法理解它,为什么它会填满内存而不是启动一个以上的进程。会不会是太大而无法计算?
代码:
这是我的活动监视器的屏幕截图,其中一个 R 进程占用更多内存(高达 55GB): 活动监视器
这是错误的屏幕截图:错误
编辑 09/22:
我已经更新了上面的代码。似乎使用 DoSNOW 包而不是 doParallel 解决了进程的问题。使用 DoSNOW 时,会启动正确数量的进程。但这带来了一个新问题。foreach 运行的迭代次数过多。
我已经添加到功能:
/li>bgg
用函数计算adjmatrix
:
/li>bzz
用函数改变了计算matmult
:
编辑 09/23: 已解决:DoSNOW 包:foreach 运行了太多迭代
原因是这部分代码:
以下更改导致正确的迭代次数(或结果):
更新了代码。
r - R:如何在 foreach %dopar% 中拆分数据帧
这是一个非常简单的例子。
在实际情况下,我有 n=400000 行的数据框。我不知道如何一步发送每个集群的 nrow/ncluster 数据,i = ?
我尝试使用 library(itertools) 中的 isplitRows 没有成功。
r - 在 R 中并行打开图像文件
我正在尝试做的事情:使用 EBImage 打开一堆图像,处理它们,并将处理后的图像保存在一个新文件中。我正在使用包“doParallel”和“foreach”并行尝试这个。
问题:每当我为任务使用多个处理器内核时,R都会返回错误:
我不知道如何获得有关此错误的更多信息。如果我尝试使用相同的脚本但只有一个处理器内核,我不会遇到任何问题。
示例脚本:
该代码在 nCores = 1 时有效,但在 nCores 介于 1 和最大可用内核数之间时无效。
我希望它运行的系统是一个运行 CentOS 7 的具有 36 个内核的虚拟机。
单个工作人员应该根据文件 ID 访问唯一文件,因此我无法想象这是文件锁定或同时读取的问题,除非 linux 也存在同时读取和写入同一目录的问题。
老实说,我很高兴找到解决方法和解决方案。
谢谢!
我的会话信息:R 版本 3.3.1 (2016-06-21) 平台:x86_64-apple-darwin13.4.0 (64-bit) 运行条件:OS X 10.11.6 (El Capitan)
r - linux下插入符号训练模型中的doparallel包
当我在插入符号中运行带有并行处理的 train 函数时遇到问题,例如,当我运行一个简单的 R 代码时,例如:
我收到此错误消息
我在 R 3.3.0 下安装了插入符号的最后一个版本。
我在 Windows 上安装了 R 版本和插入符号版本,它可以工作。
有人对此有什么建议吗?
r - R无法找到源函数
我正在使用 doParallel 和 foreach 包在多个内核上运行我的代码。我的代码类似于
当我调用 fun1 时,fun2 的第一个实例已成功执行,但我使用 foreach 调用 fun2 的实例在 fun2 中出现错误(param4,param5,:任务 1 失败 - “找不到函数“fun2””
r - 将全局和函数环境中的对象导出到集群
我在下面的示例代码中使用了 foreach 和 doParallel。
在 clusterExport 的 envir 参数中,当我使用envir = .GlobalEnv时,出现错误
**"Error in get(name, envir = envir) : object 'param4' not found"**
.
当我使用envir = environment()时,错误是
**"Error in fun2(i, param4, param5, param6) :
task 1 failed - "could not find function "fun2"""**
我的问题是如何将全局和功能环境中的所有对象导出到集群。
r - 在 R 中优化嵌套的 foreach dopar
我想了解我的以下代码的结构。想知道它是否需要以不同的方式组织以更快地执行。具体来说,我是否需要在嵌套循环中以不同的方式使用foreach和dopar 。目前,内部循环是大部分工作(ddply 有 1-8 个细分变量,每个变量有 10-200 个级别),这就是我并行运行的。为简单起见,我省略了代码细节。
有任何想法吗?我的代码(如下所示)确实有效,但在 6 核、41gb 的机器上需要几个小时。数据集不是那么大(< 20k 条记录)。
r - R 并行:错误“找不到函数“%do%””
这是一段 R 代码(函数“Kclust”),它尝试使用 library(doParallel) 并行执行任务。
代码运行良好:
R 版本 3.0.2 (2013-09-25) -- “飞盘航行”。平台:x86_64-pc-linux-gnu(64位)
但是,如果我运行代码:
R 版本 3.2.3 (2015-12-10)——“木制圣诞树”。平台:x86_64-w64-mingw32/x64(64 位)。
我明白了
{ 中的错误:任务 1 失败 -“找不到函数“%do%””调用:sapply -> lapply -> FUN -> Kclust -> %dopar% -> 执行暂停
可能是什么问题呢?