我正在尝试并行化(使用snow::parLapply
)一些依赖于包(即除snow
)。调用函数中引用的对象parLapply
必须使用显式传递给集群clusterExport
。有没有办法将整个包传递到集群,而不必显式命名每个函数(包括用户函数调用的包的内部函数!)clusterExport
?
在所有节点上安装该包,并让您的代码调用library(thePackageYouUse)
在所有节点上通过一个可用的命令,egg之类的
clusterApply(cl, library(thePackageYouUse))
我觉得parallel
最近 R 版本附带的软件包有示例——例如,请参见此处help(clusterApply)
哪里的boot
包已加载到各处:
## A bootstrapping example, which can be done in many ways:
clusterEvalQ(cl, {
## set up each worker. Could also use clusterExport()
library(boot)
cd4.rg <- function(data, mle) MASS::mvrnorm(nrow(data), mle$m, mle$v)
cd4.mle <- list(m = colMeans(cd4), v = var(cd4))
NULL
})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)