使用R语言训练XGBoost模型时,为提高效率,打算运用GPU加速。我使用的是Win10系统,习惯用R语言,但这方面的中文教程比较少。我打算用这篇博文把摸索的过程和心得记录下来。
0 预备工作
1 XGBoost的下载与安装
1.1 获取XGBoost的储存库
安装好之后,打开一个Git CMD,逐步输入以下命令,下载数据:
git clone --recursive https://github.com/dmlc/xgboost
转到xgboost目录并建立submodule
cd xgboost
git submodule init
git submodule update
1.2 安装XGBoost
打开一个R的窗口,先安装一个processx包,可以加快后续的安装步骤
install.packages("processx")
在Git CMD窗口中继续输入: 注意,要在xgboost的目录下执行,如果不在,就先cd到xgboost的位置:cd C:\path\to\xgboost
mkdir build
cd build
cmake .. -G"Visual Studio 16 2019" -A x64 -DUSE_CUDA=ON -DR_LIB=ON -DR_VERSION=4.2.0
cmake --build . --target install --config Release
注意,Visual Studio和R的版本要根据实际情况输入,我的电脑上是VS2019和R4.2.0
2 在模型中利用GPU加速
hr_xgb <- xgb.cv(
data = X,
label = Y,
nrounds = 1000,
early_stopping_rounds = 50,
nfold = 10,
stratified = T,
params = list(
objective = 'binary:logistic',
eta = 0.01,
max_depth = 3,
min_child_weight = 3,
subsample = 0.5,
colsampe_bytree = 0.5,
eval_metric = 'auc',
tree_method = 'gpu_hist'
),
verbose = 0
)
在模型的参数中加入了tree_method = 'gpu_hist' ,便是在使用GPU加速了
|