Azure / fast_retraining

Show how to perform fast retraining with LightGBM in different business cases
MIT License
54 stars 15 forks source link

LightGBMError: b'GPU Tree Learner was not enabled in this build. Recompile with CMake option -DUSE_GPU=1' #69

Closed pseudotensor closed 7 years ago

pseudotensor commented 7 years ago

LightGBMError Traceback (most recent call last) ~/h2o4gpu/testsxgboost/06_HIGGS_GPU.py in () 242 243 with Timer() as train_t: --> 244 lgbm_clf_pipeline = lgb.train(params, lgb_train, num_boost_round=num_rounds) 245 246 with Timer() as test_t:

~/.pyenv/versions/3.6.1/lib/python3.6/site-packages/lightgbm/engine.py in train(params, train_set, num_boost_round, valid_sets, valid_names, fobj, feval, init_model, feature_name, categorical_feature, early_stopping_rounds, evals_result, verbose_eval, learning_rates, keep_training_booster, callbacks) 178 """construct booster""" 179 try: --> 180 booster = Booster(params=params, train_set=train_set) 181 if is_valid_contain_train: 182 booster.set_train_data_name(train_data_name)

~/.pyenv/versions/3.6.1/lib/python3.6/site-packages/lightgbm/basic.py in init(self, params, train_set, model_file, silent) 1251 train_set.construct().handle, 1252 c_str(params_str), -> 1253 ctypes.byref(self.handle))) 1254 """save reference to data""" 1255 self.train_set = train_set

~/.pyenv/versions/3.6.1/lib/python3.6/site-packages/lightgbm/basic.py in _safe_call(ret) 46 """ 47 if ret != 0: ---> 48 raise LightGBMError(_LIB.LGBM_GetLastError()) 49 50

LightGBMError: b'GPU Tree Learner was not enabled in this build. Recompile with CMake option -DUSE_GPU=1'

Unknown solution. Only happens with airlines and higgs -- larger data sets, even though system has 1080ti with full free memory. Other smaller data sets like credit and football have no such issues. It's like the error message is wrong and in reality ran out of memory with lightgbm.

RAMitchell commented 7 years ago

Came across this as well. Have you tried the following:

python setup.py install --gpu

This fixed it for me.

pseudotensor commented 7 years ago

Yes, thanks, I stumbled upon this later and it seems to work.