小编Ahu*_*hue的帖子

插入符号中列车的并行执行失败,未找到功能

昨天我更新了我的R包,从那以后并列执行列车功能失败了.

似乎从工作者中调用的某些函数不可用.这些函数至少是flatTable和probFunction.

我在生产机器上遇到了这个问题,并且能够在干净的Windows 7 x64 VM上重现它.

我在下面添加了一个最小的工作示例 亲爱的stackoverflow用户:非常感谢!

# R 3.0.2 x64, RStudio Version 0.98.490, Windows 7 x64

data(iris)
library(caret) # 6.0-21
library(doParallel) # 1.0.6

model <- "rf"

# Fail
?probFunction
?flatTable

fitControl <- trainControl(
  method = "repeatedcv"
  , number = 5  ## 5-fold CV
  , repeats = 1   ## repeated one times
  , verboseIter =TRUE
)

#### Sequential Version ####

# Runs
train(Species ~ ., data = iris, method = model, trControl = fitControl)

#### Parallelized version ####

# …
Run Code Online (Sandbox Code Playgroud)

parallel-processing r r-caret

8
推荐指数
1
解决办法
7407
查看次数

插入符号上的parRF不适用于多个核心

来自插入符R包的parRF不适合我使用多个核心,这是非常具有讽刺意味的,因为parRF中的par表示并行.我在Windows机器上,如果这是一个相关的信息.我检查过我正在使用最新的关于插入符号和doParallel的最新内容.

我做了一个最小的例子并给出了下面的结果.有任何想法吗?

源代码

library(caret)
library(doParallel)

trCtrl <- trainControl(
  method = "repeatedcv"
  , number = 2
  , repeats = 5
  , allowParallel = TRUE
)

# WORKS
registerDoParallel(1)
train(form = Species~., data=iris, trControl = trCtrl, method="parRF")
closeAllConnections()

# FAILS
registerDoParallel(2)
train(form = Species~., data=iris, trControl = trCtrl, method="parRF")
closeAllConnections()
Run Code Online (Sandbox Code Playgroud)

产量

> library(caret)
> library(doParallel)
> 
> trCtrl <- trainControl(
+   method = "repeatedcv"
+   , number = 2
+   , repeats = 5
+   , allowParallel = TRUE
+ …
Run Code Online (Sandbox Code Playgroud)

parallel-processing r random-forest r-caret

6
推荐指数
1
解决办法
2816
查看次数

标签 统计

parallel-processing ×2

r ×2

r-caret ×2

random-forest ×1