2

我曾在 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 个内核都可以工作并且没有详细的消息。

这是正常操作吗?

4

0 回答 0