Ошибка в каретке при работе в кластере

Я бегу train функция в карете на кластере через doRedis. По большей части это работает, но время от времени я получаю ошибки в самом конце этой природы:

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)

Эти ошибки нелегко воспроизвести (то есть они случаются иногда, но не всегда) и возникают только в конце цикла. Стандартный вывод кластера показывает все задачи, выполняемые и завершенные, поэтому я немного сбит с толку.

Кто-нибудь сталкивался с этими ошибками? и если да, то понять причину и даже лучше исправить?

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

По сути, я установил огромное приложение, используя:

sudo apt-get install hugeadm

Затем отключил прозрачные страницы, используя:

hugeadm --thp-never

Обратите внимание, что это изменение будет отменено при перезагрузке компьютера.

Когда я перезапустил тренировочный процесс, он прошел без ошибок.

Надеюсь, это поможет.

Ура, Эрик

Другие вопросы по тегам