Tom*_*evi 5 r machine-learning cluster-computing r-doredis r-caret
我通过doRedis在集群train
中的插入符号中运行该函数.在大多数情况下,它是有效的,但我经常在这种性质的最后得到错误:
error calling combine function:
<simpleError: obj$state$numResults <= obj$state$numValues is not TRUE>
Run Code Online (Sandbox Code Playgroud)
和
Error in names(resamples) <- gsub("^\\.", "", names(resamples)) :
attempt to set an attribute on NULL
Run Code Online (Sandbox Code Playgroud)
当我跑步时,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)
Run Code Online (Sandbox Code Playgroud)
这些错误不易重现(即它们有时发生,但不一致),并且只在运行结束时发生.群集上的stdout显示所有正在运行和完成的任务,所以我有点沮丧.
有没有人遇到过这些错误?如果是这样理解原因,甚至更好的解决方案?
我想你已经解决了这个问题,但我在由 Linux 和 Windows 系统组成的集群上遇到了同样的问题。我在 ubuntu 14.04 上运行服务器,并在启动服务器服务时注意到有关在 Linux 内核中启用“透明大页面”的警告。我忽略了该消息并开始进行培训练习,其中大多数机器都已满员。我在运行结束时收到相同的错误:
error calling combine function:
<simpleError: obj$state$numResults <= obj$state$numValues is not TRUE>
Run Code Online (Sandbox Code Playgroud)
经过大量的绞尽脑汁和无用的修补之后,我决定按照此处的说明来解决该警告:http://ubuntuforums.org/showthread.php ?t=2255151
本质上,我使用以下命令安装了hugeadm:
sudo apt-get install hugeadm
Run Code Online (Sandbox Code Playgroud)
然后使用以下方法禁用透明页面:
hugeadm --thp-never
Run Code Online (Sandbox Code Playgroud)
请注意,此更改将在计算机重新启动时撤消。
当我重新运行训练过程时,它运行时没有任何错误。
希望有帮助。
干杯,埃里克
归档时间: |
|
查看次数: |
868 次 |
最近记录: |