在windows上,我很难使用library(doparallel),它似乎在几次glmnet调用之后崩溃。
因此,我试图将future包(https://github.com/HenrikBengtsson/future)与glmnet一起使用,但我不确定在这里进行操作的最佳方式是什么。
下面是一个简单的示例(非并行化)
X = matrix(rnorm(1e4 * 200), 1e4, 200)
Y = rnorm(1e4)
system.time(cv.glmnet(X, Y))
user system elapsed
3.42 0.22 3.67 我如何使用期货来使用我所有的4个核心(在我的本地机器上-没有像executing glmnet in parallel in R那样的分布式集群)
谢谢!
发布于 2018-10-12 17:38:44
这似乎很管用。至少用户时间要低得多,但是由于并行开销,系统时间增加了。
library("doFuture")
registerDoFuture()
plan(multiprocess, workers = 4L)
system.time(cv.glmnet(X, Y, parallel = TRUE))
user system elapsed
0.46 0.17 5.59
versus
system.time(cv.glmnet(X, Y))
user system elapsed
2.33 0.05 2.39 https://stackoverflow.com/questions/52782093
复制相似问题