我通过caret在群集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)
这些错误不易重现(即它们有时发生,但不一致),并且仅在运行结束时发生。集群上的标准输出显示所有正在运行和完成的任务,所以我有点不知所措。
有没有人遇到过这些错误?如果是这样理解原因,甚至更好地解决问题?
答案 0 :(得分:2)
我想你已经解决了这个问题,但我在我的集群中遇到了同样的问题,包括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
基本上,我使用:
安装了hugeadmsudo apt-get install hugeadm
然后使用以下方法禁用透明页面
hugeadm --thp-never
请注意,重新启动计算机时将撤消此更改。
当我重新训练我的训练过程时,它没有任何错误。
希望有所帮助。
干杯, 埃里克