我曾在 R 中工作过,但出现了一个问题。
我已经使用train()
caret 库中的函数编写了一个 R 代码,并且我还通过registDoParallel()
doParallel 设置了并行进程。
如果我在没有并行处理的情况下执行,那么我的控制台中会出现详细消息。但是当我应用并行进程时,没有出现详细消息......
这是我的代码。
xgbt_ml_data1 <-
train(x = TRAIN_SPRS_PRT$data
, y = TRAIN_SPRS_PRT$label
, method = 'xgbTree'
, tuneGrid = expand.grid(nrounds = c(10,100,1000), max_depth = c(3,6,12), eta = .01,colsample_bytree = seq(.5,.8,.1), gamma = 0, min_child_weight = c(2:10), subsample = .85)
, metric = "RMSE"
, trControl = trainControl(
method = "cv",
number = 5,
verboseIter = TRUE,
returnData = FALSE,
returnResamp = "all", # save losses across all models
## classProbs = TRUE, # set to TRUE for AUC to be computed
## summaryFunction = twoClassSummary,
allowParallel = TRUE)
)
虽然我设置了allowParallel = TRUE
,单核适用于它。(我已经检查了系统监视器)
详细消息出现在控制台中。
在我执行命令registDoParallel(core = 4)
之后,所有 4 个内核都可以工作并且没有详细的消息。
这是正常操作吗?