I am running a model on an AWS instance with 36 cores. Dummy data example:
library(mlbench)
data(Sonar)
library(caret)
library(doParallel)
set.seed(95014)
# create training & testing data sets
inTraining <- createDataPartition(Sonar$Class, p = .75, list=FALSE)
training <- Sonar[inTraining,]
testing <- Sonar[-inTraining,]
# set up training run for x / y syntax because model format performs poorly
x <- training[,-61]
y <- training[,61]
cl <- makePSOCKcluster(36)
registerDoParallel(cl)
fitControl <- trainControl(method = "cv",
number = 5,
allowParallel = TRUE)
fit <- train(x,y, method="cforest",data=Sonar,trControl = fitControl)
stopCluster(cl)
But when I look at in htop
, only half of the cores are calculating. Is there a core restriction in doParallel
or caret
?