垃圾教程太多
sudo apt-get install cmake
sudo apt-get install libboost-dev
下载项目
https://github.com/microsoft/LightGBM
解压zip
cd Lightgbm-master
mkdir build ; cd build
cmake -DOpenCL_LIBRARY=/usr/local/cuda/lib64/libOpenCL.so -DOpenCL_INCLUDE_DIR=/usr/local/cuda/include -DUSE_GPU=1 ..
make -j4
依据具体情况修改上述libOpenCL.so和include的路径
安装python版
cd ../python-package
python setup.py install --precompile
验证
cd ../
vim test.py
输入
import lightgbm as lgb
import time
#讀取data資料
train_data = lgb.Dataset(r'LightGBM-master/examples/parallel_learning/binary.train')
#設定lightgbm參數,gpu版本測試
params = {'max_bin': 63,
'num_leaves': 255,
'learning_rate': 0.1,
'tree_learner': 'serial',
'task': 'train',
'is_training_metric': 'false',
'min_data_in_leaf': 1,
'min_sum_hessian_in_leaf': 100,
'ndcg_eval_at': [1,3,5,10],
'sparse_threshold': 1.0,
'device': 'gpu',
'gpu_platform_id': -1,
'gpu_device_id': -1}
t0 = time.time()
#執行模型訓練
gbm = lgb.train(params, train_set=train_data, num_boost_round=10,
valid_sets=None, valid_names=None,
fobj=None, feval=None, init_model=None,
feature_name='auto', categorical_feature='auto',
early_stopping_rounds=None, evals_result=None,
verbose_eval=True,
keep_training_booster=False, callbacks=None)
t1 = time.time()
#顯示執行時間
print('gpu version elapse time: {}'.format(t1-t0))
#設定lightgbm參數,cpu版本
params = {'max_bin': 63,
'num_leaves': 255,
'learning_rate': 0.1,
'tree_learner': 'serial',
'task': 'train',
'is_training_metric': 'false',
'min_data_in_leaf': 1,
'min_sum_hessian_in_leaf': 100,
'ndcg_eval_at': [1,3,5,10],
'sparse_threshold': 1.0,
'device': 'cpu'
}
t0 = time.time()
#執行模型訓練
gbm = lgb.train(params, train_set=train_data, num_boost_round=10,
valid_sets=None, valid_names=None,
fobj=None, feval=None, init_model=None,
feature_name='auto', categorical_feature='auto',
early_stopping_rounds=None, evals_result=None,
verbose_eval=True,
keep_training_booster=False, callbacks=None)
t1 = time.time()