Узлы остаются открытыми - PullRequest
0 голосов
/ 14 мая 2019

У меня есть проблема, когда я создаю узлы для распараллеливания моего кода, в конце R не останавливает узлы, а оставляет их открытыми. Я пробовал несколько способов, узлы остаются открытыми в конце

trainSeqNum <- as.data.frame(matrix(data=rnorm(257*60), ncol=257))
trainAct    <- runif(60, -1, 1)
# tryCatch custum
modelTryCatch <- function(expr) {
  warn <- NULL
  err <- NULL
  value <- withCallingHandlers(
    tryCatch(expr, error = function(e) {
      err <<- e
      NULL
    }), warning = function(w) {
      warn <<- w
      invokeRestart("muffleWarning")
    })
  list(value = value, warning = warn, error = err)
}

doParallel::registerDoParallel(5)
nbCore <- foreach::getDoParWorkers()

#res <-
modelTryCatch({

  R.utils::withTimeout({

    caret::train(
      trainSeqNum,
      trainAct,
      trControl = trainControl(
        method = "cv",
        number = 5,
        savePredictions = 'final',
        allowParallel = TRUE),
      method = "ANFIS",
      tuneLength = 1,
      preProcess = NULL
    )},
    timeout = 5)
})

#if(is.null(res$value)){} else {}
foreach::registerDoSEQ()
#doParallel::stopImplicitCluster()
...