- 製造業出身のデータサイエンティストがお送りする記事
- 今回は、GoogleColab で勾配ブースティング決定木(XGBoost, LightGBM, CatBoost)でGPU を使う方法をメモとして残しておきます。
GPU を使えるようにする方法
XGBoost
- パラメータ
tree_method='gpu_hist'
を設定するだけです。
# XGBoost
import xgboost as xgb
model = xgb.XGBRegressor(**params, tree_method='gpu_hist')
LightGBM
- LightGBM のGPU バージョンのライブラリーをインストールする必要があります。
!git clone --recursive https://github.com/Microsoft/LightGBM
%cd /content/LightGBM/
!mkdir build
!cmake -DUSE_GPU=1
!make -j$(nproc)
!sudo apt-get -y install python-pip
!sudo -H pip install setuptools numpy scipy scikit-learn -U
%cd /content/LightGBM/python-package
!sudo python setup.py install --precompile
- あとは、パラメータ
device_type='gpu'
を設定するだけです。
# LightGBM
import lightgbm as lgb
model = lgb.LGBMRegressor(**params,device_type='gpu')
CatBoost
- パラメータ
task_type='GPU'
を設定するだけです。
# CatBoost
import catboost as cb
model = cb.CatBoostRegressor(**params, task_type='GPU')