xgboost с использованием одного графического процессора не удалось - PullRequest
0 голосов
/ 07 декабря 2018

Информация о системе:

Debian 4.9.130-2 (2018-10-27)

инструменты для компиляции cuda, выпуск 10.0, V10.0.130

xgboost: 0.81

python: 3.5.3

Пример кода:

gbm_param_grid = {'learning_rate': [.01, .05, .075, 0.1, 0.3, 0.5, 0.75, 1],
                  'n_estimators': np.arange(10, 160, 10),
                  'subsample': [0.5, 0.7, 0.9, 1],
                  'max_depth': [3, 4, 5, 6, 7, 8, 9, 10],
                  'min_child_weight': np.arange(0.1, 5, 0.1),
                  'gamma': [i/10.0 for i in range(0,5)]                  
                  }


# 3 things: 1. extra parameters 2. weights on positives 3. new CVs

gbm = xgb.XGBClassifier(objective='binary:logistic', tree_method='gpu_hist')
skf = StratifiedKFold(n_splits=10, shuffle=True)
X_test, y_test = X, y
fit_dict = {"eval_set":[(X_test, y_test)],
          "early_stopping_rounds":5,
          "eval_metric":"logloss","verbose":5}

grid_result = GridSearchCV(estimator=gbm, param_grid=gbm_param_grid, fit_params=fit_dict, scoring='roc_auc', cv=skf.split(X, y))
grid_result.fit(X, y)

Сообщение об ошибке:

xgboost.core.XGBoostError: b'[06:06:57] /workspace/src/tree/updater_gpu_hist.cu:908: Exception in gpu_hist: [06:06:57] /workspace/src/tree/../common/device_helpers.cuh:854: Check failed: device_ordinals.size() == 1 (0 vs. 1) XGBoost must be compiled with NCCL to use more than one GPU.\n\nStack trace returned 10 entries:\n[bt] (0) 

Я не понимаю, почему xgboost предполагаетЯ использую несколько GPU?

===========================================================

Модуль xgboost устанавливается pip3 install xgboost.Из документа я полагаю, что это правильный способ установки версии с поддержкой одного графического процессора, верно?

...