我正在R中构建Arima模型。我正在尝试使用tryCatch来处理模型训练中的异常 - 特别是在我没有足够数据来构建模型的情况下。由于我有很多训练过的模型(大约380个),我试图用R中的doParallel包来实现它。 但我注意到有一些警告我只需要忽略。以下是我的尝试。但我可以看到一些线程被卡住了。我只是想知道警告处理代码是否将线程置于无限循环中,因为我试图在警告中调用相同的表达式。
>>> a = "b"
>>> a in ["a", "b"]
True
请注意,首先我尝试了4次循环迭代,第一次运行得非常快,但其他3次迭代都在运行。
答案 0 :(得分:1)
您想忽略警告,但在suppressWarning
?
...
warning=function(w)
{
print(w)
suppressWarnings (
...
您没有提供可重现的示例,但我会尝试从一组最小的行开始:
...
nCores <- detectCores()
registerDoParallel(cores = nCores)
source("models.R")
modeling <- function(y_data) {
tryCatch({
suppressWarnings(out <- model(data=y_data))
})
}
foreach(os=ops) %:% foreach(country=countries) %:% foreach(app=apps) %dopar% {
modeling(y_data)
}