并行,foreach,未找到导出的对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了并行,foreach,未找到导出的对象相关的知识,希望对你有一定的参考价值。

我有以下(示例)代码,它在计算集群上以被动模式执行:

> foo <- function(...)
> {
> require(copula)
> require(foreach)
> require(methods)
> require(np)
> require(parallel)
> {cl <- makeCluster(detectCores()-1) ; registerDoParallel(cl)}
...
> str(dat)
'data.frame':   31269 obs. of  15 variables
...
> clusterExport(cl=cl,varlist=c("dat",...))
> dumpster <- foreach(i=1:10,.packages=c("copula","foreach","np"),.export=c("dat"))%dopar%
> {... ; dat.new <- some.fn(dat) ; ...}
...
> stopCluster(cl)
> }
> foo(...)
Error in get(name, envir = envir) : object 'dat' not found
Calls: foo ... postNode -> sendData -> sendData.SOCKnode -> serialize -> get
Execution halted

我究竟做错了什么?

答案

你已经混淆了一些指令,以便命令这样做

library(doSNOW)
library(foreach)
cl <- makeCluster(detectCores()-1, type = "SOCK")
registerDoSNOW(cl)

我假设对象dat已经可用,所以这就是你如何使用foreach

dumpster <- foreach(i=1:10,.packages=c("copula","np"), .combine = c)%dopar%{dat.new <- some.fn(dat)}

然后关闭群集

stopCluster(cl)

以上是关于并行,foreach,未找到导出的对象的主要内容,如果未能解决你的问题,请参考以下文章

如何将许多变量和函数从全局环境导出到 foreach 循环?

由于未找到 ID 错误的视图,列表片段未出现

viewpager 中的片段,未找到视图错误

R 并行共享内存对象(Windows)

错误代码:错误域 = NSCocoaErrorDomain 代码 = 3840“JSON 文本没有以数组或对象和允许未设置片段的选项开头。”

如何在 ViewPager 中从 Activity 移动到 Fragment?未找到片段 ID 的视图