繁体   English   中英

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

[英]Error occurring in caret when running on a cluster

我通过doRedis在集群中的插入符号中运行train功能。 在大多数情况下,它是有效的,但我经常在这种性质的最后得到错误:

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

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

当我运行traceback()我得到:

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)

这些错误不易重现(即它们有时发生,但不一致),并且只在运行结束时发生。 群集上的stdout显示所有正在运行和完成的任务,所以我有点沮丧。

有没有人遇到过这些错误? 如果是这样理解原因,甚至更好的解决方案?

我想你已经解决了这个问题,但我在我的集​​群中遇到了同样的问题,包括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

基本上,我安装了hugeadm使用:

sudo apt-get install hugeadm

然后禁用透明页面:

hugeadm --thp-never

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

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

希望有所帮助。

干杯,埃里克

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM