在集群上运行时插入符号中发生错误

2024-04-24

我正在运行train函数于caret http://cran.r-project.org/web/packages/caret/index.html在集群上通过doRedis http://cran.r-project.org/web/packages/doRedis/index.html。在大多数情况下,它是有效的,但是我经常在这种性质的最后遇到错误:

error calling combine function:
<simpleError: obj$state$numResults <= obj$state$numValues is not TRUE>

and

Error in names(resamples) <- gsub("^\\.", "", names(resamples)) : 
  attempt to set an attribute on NULL

当我跑步时traceback() I get:

5: nominalTrainWorkflow(dat = trainData, info = trainInfo, method = method, 
       ppOpts = preProcess, ctrl = trControl, lev = classLevels, 
       ...)
4: train.default(x, y, weights = w, ...)
3: train(x, y, weights = w, ...)
2: train.formula(couple ~ ., training.balanced, method = "nnet", 
       preProcess = "range", tuneGrid = nnetGrid, MaxNWts = 2200)
1: caret::train(couple ~ ., training.balanced, method = "nnet", 
       preProcess = "range", tuneGrid = nnetGrid, MaxNWts = 2200)

这些错误不容易重现(即它们有时会发生,但并非始终如一),并且仅在运行结束时发生。集群上的标准输出显示所有正在运行和已完成的任务,所以我有点困惑。

有人遇到过这些错误吗?如果是的话,了解原因,甚至更好的修复方法?


我想你已经解决了这个问题,但我在由 Linux 和 Windows 系统组成的集群上遇到了同样的问题。我在 ubuntu 14.04 上运行服务器,并在启动服务器服务时注意到有关在 Linux 内核中启用“透明大页面”的警告。我忽略了该消息并开始进行培训练习,其中大多数机器都已满员。我在运行结束时收到相同的错误:

error calling combine function:
<simpleError: obj$state$numResults <= obj$state$numValues is not TRUE>

经过大量的绞尽脑汁和无用的修补之后,我决定按照此处的说明来解决该警告:http://ubuntuforums.org/showthread.php?t=2255151 http://ubuntuforums.org/showthread.php?t=2255151

本质上,我使用以下命令安装了hugeadm:

sudo apt-get install hugeadm

然后使用以下方法禁用透明页面:

hugeadm --thp-never

请注意,此更改将在计算机重新启动时撤消。

当我重新运行训练过程时,它运行时没有任何错误。

希望有帮助。

干杯, 埃里克

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在集群上运行时插入符号中发生错误 的相关文章

随机推荐