如何解决LightGBMError:在 Google Colab 中找不到 OpenCL 设备
我想使用 Google Colab 在我的数据集上用 GPU 训练 LightGBM。为此,我使用了以下代码:
!pip uninstall lightgbm -y
!git clone --recursive https://github.com/Microsoft/LightGBM
!apt-get install -y -qq libboost-all-dev
%cd /content/LightGBM
!rm -r build
!mkdir build
%cd build
!cmake -DUSE_GPU=1 -DOpenCL_LIBRARY=/usr/local/cuda/lib64/libOpenCL.so -DOpenCL_INCLUDE_DIR=/usr/local/cuda/include/ ..
!make -j$(nproc)
%cd /content/LightGBM/python-package
!python3 setup.py install --precompile
!mkdir -p /etc/OpenCL/vendors && echo "libnvidia-opencl.so.1" > /etc/OpenCL/vendors/nvidia.icd
!rm -r LightGBM
import lightgbm as lgb
也在笔记本中,我选择了带超参数的设备 gpu:
param_grid = [
{
'reduce_dim__n_components': [0.7,0.9],'classify__learning_rate': [0.0001,0.001],# 'classify__n_estimators': [int(x) for x in np.linspace(start = 100,stop = 2000,num = 8)],# 'classify__num_leaves': [5,10,20,30,50],# 'classify__num_iterations': [10,50,100,500],# 'classify__min_data_in_leaf': [30,100]
}
]
grid_search = gridsearchcv(
Pipeline([
('reduce_dim',PCA(svd_solver='full')),('classify',lgb.LGBMClassifier(
objective = 'multiclass',n_jobs = -1,num_class = 7,max_depth = -1,boosting_type = 'gbdt',metric = 'multi_logloss',device = 'gpu'
))
]),param_grid,cv=5,scoring='accuracy',verbose=1,return_train_score=True,n_jobs=-1)
grid_search = grid_search.fit(train_prepared,y_train)
然后出现这个错误:
Fitting 5 folds for each of 4 candidates,totalling 20 fits
[Parallel(n_jobs=-1)]: Using backend LokyBackend with 2 concurrent workers.
[Parallel(n_jobs=-1)]: Done 20 out of 20 | elapsed: 3.4s finished
---------------------------------------------------------------------------
LightGBMError Traceback (most recent call last)
<ipython-input-39-e751db1c8936> in <module>()
24 ]),n_jobs=-1)
25
---> 26 grid_search = grid_search.fit(train_prepared,y_train)
6 frames
/content/LightGBM/python-package/lightgbm/basic.py in _safe_call(ret)
108 """
109 if ret != 0:
--> 110 raise LightGBMError(_LIB.LGBM_GetLastError().decode('utf-8'))
111
112
LightGBMError: No OpenCL device found
我尝试按照此链接 https://www.kaggle.com/kirankunapuli/ieee-fraud-lightgbm-with-gpu 的逐步操作来适应 Google Colab,但没有成功。
我在这里做错了什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。