У меня есть проблема, когда я создаю узлы для распараллеливания моего кода, в конце 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()