Boosting系モデル(XGBoost, lightGBM, CatBoost)の計算をGoogle ColaboratoryのGPUで実行する方法
準備
準備
Google Colabでipynbファイルを開き以下の操作を行なっておく。
- タブの「ランタイム」
- 「ランタイムのタイプを変更」
- ハードウェアアクレラレータ「GPU」を選択し「保存」
GPUのタイプ確認
以下のコードを実行するとどのタイプのGPUが割り当てられたか確認できる。
!nvidia-smi
GPUのタイプ(上から順に性能がいい)
- P100
- P4
- T4
- K80
GPUで扱う方法
XGBoost
パラメータ「tree_method='gpu_hist'」を設定
例)
model = xgb.XGBRegressor(**params, tree_method='gpu_hist')
lightGBM
- 以下のコードを実行しておく
!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 pandas numpy scipy scikit-learn -U
#pandasのエラーが出る場合は上記のコードからpandasを削除
!sudo -H pip install setuptools numpy scipy scikit-learn -U
%cd /content/LightGBM/python-package
!sudo python setup.py install --precompile
- パラメータ「device_type='gpu'」を設定
model = lgb.LGBMRegressor(**params,device_type='gpu')
CatBoost
パラメータ「task_type='GPU'」を設定
model = cb.CatBoostRegressor(**params, task_type='GPU')
以上
関連書籍
リンク
リンク
リンク