xgboost superslow в Google Cloud Compute Engine - PullRequest
0 голосов
/ 09 июня 2019

Я пытаюсь подготовить список моделей карет R на Google Cloud Compute Engine (Ubuntu LTS16.04). Модель xgboost (и xgblinear, и xgbtree) заняла целую вечность, чтобы завершить обучение. Фактически загрузка ЦП всегда равна 0 из мониторинга состояния GCP.

Я использовал библиотеку doMC для параллельного выполнения. Это очень хорошо работает для таких моделей, как C5.0, glmnet и gbm. Однако для xgboost (как xgblinear, так и xgbtree), по какой-то причине, процессор, кажется, не работает, потому что загрузка остается 0. Устранение неполадок: 1. Убрал doMC и работал только с одним ядром, проблема осталась. 2. Изменена библиотека параллельного выполнения на doParallel вместо doMC. В этом раунде загрузка ЦП возросла, но для обучения GCP потребовалось 5 минут. Те же самые коды закончились всего за 12 секунд на моем локальном ноутбуке. (Я запустил 24 процессора на GCP и 4 процессора на локальном ноутбуке) 3. Параллельное выполнение doMC хорошо работает для другого алгоритма. Только xgboost имеет эту проблему.

Код:

xgblinear_Grid <- expand.grid(nrounds = c(50, 100),
                              lambda = c(.05,.5),
                              alpha = c(.5),
                              eta = c(.3))

registerDoMC(cores = mc - 1)
set.seed(123)
xgbLinear_varimp <- train(formula2, data=train_data, method="xgbLinear", metric=metric, tuneGrid = xgblinear_Grid, trControl=fitControl, preProcess = c("center", "scale", "zv"))

print(xgbLinear_varimp)

Сообщение об ошибке не генерируется. Он просто работает бесконечно. R sessionInfo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...