je ne pouvais pas obtenir ce travail du pip installé XGBoost, mais j'ai extrait le dernier XGBoost de GitHub (git clone --recursive https://github.com/dmlc/xgboost
) et l'ai compilé avec le drapeau PLUGIN_UPDATER_GPU
qui m'a permis d'utiliser le GPU avec l'API sklearn. Cela m'a obligé à changer également certains indicateurs NVCC pour travailler sur ma GTX960 qui causait des erreurs de construction, puis des erreurs d'exécution dues à une incompatibilité d'architecture. Après avoir construit, j'ai installé avec pip install -e python-package/
dans le répertoire repo. Pour utiliser le Scikit apprendre API (en utilisant grow_gpu
ou grow_hist_gpu
):
import xgboost as xgb
model = xgb.XGBClassifier(
max_depth=5,
objective='binary:logistic',
**{"updater": "grow_gpu"}
)
model.fit(train_x, train_y)
Si quelqu'un est intéressé par le processus de fixer la construction avec le drapeau du GPU, voici le processus que je suis passé par sur Ubuntu 14.04.
i) clone git clone git --recursive https://github.com/dmlc/xgboost
ii) cd Insto xgboost et make -j4
pour créer multi-thread, si aucun GPU est souhaitée
iii) de faire GPU, modifier faire/config .MK utiliser PLUGIN_UPDATER_GPU
iv) Modifier l'Makefile makefile, sur la section FPUNV d'utiliser le drapeau --gpu-architecture=sm_xx
pour la version GPU (5,2 pour GTX 960) sur la ligne 101
#CODE = $(foreach ver,$(COMPUTE),-gencode arch=compute_$(ver),code=sm_$(ver)) TO
CODE = --gpu-architecture=sm_52
v) Exécutez le ./build.sh
, il doit indiquer terminé en mode multi-thread ou FPUNV build a probablement échoué (ou une autre erreur, regardez ci-dessus pour l'erreur)
vi) Dans le virtualenv (si désiré) dans le même répertoire run pip install -e python-package/
ce sont des choses qui ont causé quelques erreurs de FPUNV pour moi:
i) Installation/mise à jour la boîte à outils Cuda en téléchargeant la boîte à outils cuda .deb
de Nvidia (version 8.0 a fonctionné pour moi, et il est nécessaire dans certains cas?).
ii) Installation/mise à jour cuda
sudo apt-get update
sudo apt-get install cuda
iii) Ajouter nvcc
à votre chemin.Iv) Un redémarrage peut être nécessaire si l'exécution de nvidia-smi
ne fonctionne pas en raison de certaines mises à jour de cuda/driver/toolkit.