【问题标题】:Error occurring in caret when running on a cluster在集群上运行时插入符号中发生错误
【发布时间】:2013-05-13 00:04:08
【问题描述】:

我正在通过doRedis 在集群上的caret 中运行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)

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

有人遇到过这些错误吗?如果是这样,了解原因并更好地解决?

【问题讨论】:

    标签: r machine-learning cluster-computing r-caret r-doredis


    【解决方案1】:

    我想你已经解决了这个问题,但是我在由 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
    

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

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

    希望对您有所帮助。

    干杯, 埃里克

    【讨论】:

    • 链接将来可能会消失。请编辑您的答案以反映链接提供的解决方案。如果你不这样做,你可能会因为只是一个链接的答案而被删除。
    • 不幸的是,即使在我上面建议的修复之后,我仍然会收到错误消息,尽管现在不那么频繁了。我注意到当工作人员最大化我的 LAN/Wifi 家庭网络时,似乎会发生此错误。通过使用更少的工人,我已经能够进一步减少这个问题的发生。此外,如果我更改它,我可以成功运行失败的作业,因此所有工作人员都位于启动作业的 rsession 本地。我还没有尝试过,但我也相信如果工作人员在 redis-server 上运行,它会工作得很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-23
    • 2015-04-25
    • 2018-09-19
    • 2015-08-14
    • 1970-01-01
    • 1970-01-01
    • 2018-10-03
    相关资源
    最近更新 更多