lightGBM GPU支持的安装、验证方法
以下基于ubuntu 16.04 python 3.6.5安装测试成功
1、安装软件依赖
sudo apt-get install --no-install-recommends git cmake build-essential libboost-dev libboost-system-dev libboost-filesystem-dev
2、安装python库
pip install setuptools wheel numpy scipy scikit-learn -U
3、安装lightGBM-GPU
3.1 pip安装
sudo pip3 install lightgbm --install-option=--gpu --install-option="--opencl-include-dir=/usr/local/cuda/include/" --install-option="--opencl-library=/usr/local/cuda/lib64/libOpenCL.so"
3.1 源码安装
git clone --recursive https://github.com/microsoft/LightGBM ; cd LightGBM
mkdir build ; cd build
cmake -DUSE_GPU=1 ..
# if you have installed NVIDIA CUDA to a customized location, you should specify paths to OpenCL headers and library like the following:
# cmake -DUSE_GPU=1 -DOpenCL_LIBRARY=/usr/local/cuda/lib64/libOpenCL.so -DOpenCL_INCLUDE_DIR=/usr/local/cuda/include/ ..
make -j$(nproc)
cd ../python-package/
python setup.py install
4、测试
编写测试脚本
import lightgbm as lgb
import timeparams = {'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,
'nthread': 1,
'device': 'gpu',
'gpu_platform_id': 0,
'gpu_device_id': 0}dtrain = lgb.Dataset('train.libsvm')
t0 = time.time()
gbm = lgb.train(params, train_set=dtrain, num_boost_round=100,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))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,
'nthread': 1,
'device': 'cpu'
}t0 = time.time()
gbm = lgb.train(params, train_set=dtrain, num_boost_round=100,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('cpu version elapse time: {}'.format(t1-t0))
CPU 32s vs CPU 8s
5、遇到问题
5.1 terminate called without an active exception
源文件目录:src/treelearner/gpu_tree_learner.h的第26行代码:
#define BOOST_COMPUTE_USE_OFFLINE_CACHE
如果包含这个这个宏 BOOST_COMPUTE_USE_OFFLINE_CACHE,就会导致要寻找缓存目录,因此将其注释,并clean然后重新编译源文件,然后就能安装使用了。
5.2 Error: No OpenCL Device Found
mkdir -p /etc/OpenCL/vendors && echo "libnvidia-opencl.so.1" > /etc/OpenCL/vendors/nvidia.icd
参考:https://www.kaggle.com/kirankunapuli/ieee-fraud-lightgbm-with-gpu
lightGBM GPU支持的安装、验证方法相关推荐
- 最简便的lightGBM GPU支持的安装、验证方法
以下基于ubuntu 16.04 python 3.6.5安装测试成功 1.安装软件依赖 sudo apt-get install --no-install-recommends git cmake ...
- vs最好的版本_Win10 环境下,LightGBM GPU 版本的安装
由于知乎的编辑器不能完全支持 MarkDown 语法, 所以部分文字可能无法正常排版, 如果你想追求更好的阅读体验, 请移步至该博客的简书的链接. Win10 平台下, LightGBM GPU 版本 ...
- Win10 平台下, LightGBM GPU 版本的安装
1. Light GBM 简介 在数据挖掘和传统机器学习领域,提起大名鼎鼎的 XGBoost,相信很多人都听说过,尤其是在 Kaggle 赛场上,XGBoost 更是风光无限,不过今天的主角却不是 X ...
- 解决旧笔记本电脑的ME固件的驱动安装程序不支持WIN10安装的方法
以我的K480N-i5 为例,神舟官方代号PAF4.它出厂于2012年下半年11月份.随机光盘的安装文件只支持到WIN7操作系统. 因为从BIOS查看到的因特尔ME固件的[Version] PackV ...
- Py之lightgbm:lightgbm的简介、安装、使用方法之详细攻略
Py之lightgbm:lightgbm的简介.安装.使用方法之详细攻略 目录 lightgbm的简介 lightgbm的安装 lightgbm的使用方法 1.class lightgbm.Datas ...
- 一文看懂 TensorFlow 2.x / keras 安装与GPU支持
目录 安装概述 pip 软件包 硬件要求 软件要求 其他安装方法 安装步骤 确定版本 下载安装 检查 GPU配置 不使用GPU 渐进式的使用显存 其他问题 找不到GPU CPU不支持avx2 参考 在 ...
- 【Ubuntu】安装中文输入法、终端不支持中文的解决方法
一.中文输入法安装 1.安装汉语语言包 sudo apt install fcitx sudo apt install language-pack-zh-hans 2.安装google拼音输入法 su ...
- linux安装tensorflow教程,Ubuntu 16.04 安装 TensorFlow(GPU支持)
本文记录Ubuntu 16.04安装Tensorflow步骤,也包括怎么从源码编译安装Tensorflow. 要想安装Tensorflow GPU版本,你需要有一个新一点的Nvidia显卡. Tens ...
- 验证通扫描仪安装使用方法
安装验证通扫描仪 一. 安装"PCI转COM转接卡"驱动程序. 1. 请将硬件"PCI转COM转接卡"卡插到电脑上,开机. 2. 安装硬件驱动程序. 二.安装扫 ...
最新文章
- 人工智能及其应用(第5版).蔡自兴-2章课后习题。【参考答案】
- Hibernate配置文件解释
- [JQuery] jQuery选择器ID、CLASS、标签获取对象值、属性、设置css样式
- delphi报列表索引越界怎么处理_图解Elasticsearch索引机制,此篇带你领悟新世界...
- Python3网络爬虫开发实战,Cookies 池的搭建,破解反爬虫!
- ubuntu meld比较文件差异
- C# TypeDescriptor初了解
- Python爬虫——全网获取音乐
- VBA打开一个EXCEL文件并在二个文件之间来回操作的代码
- 昆明发生两起公汽爆炸案2死10伤
- 如何恢复因为chrome同步而删除的书签
- 2021“载歌在谷”线上春晚震撼来袭!
- 马列主义告诉我们:物质基础决定上层建筑 - 移动互联网时代之后的时代演进推断
- android音乐播放器开发 SweetMusicPlayer 载入歌曲列表
- 软碟通安装linux系统,使用U盘作为载体使用UltraISO软碟通安装Centos6.4
- Mysql性能优化、Mysql参数优化、Mysql配置优化
- 数据分析的基本模型——二元逻辑回归
- AWVS acunetix_WVS13下载、安装及使用
- element的table扩展列打开位置更换
- 前端需要了解的设计模式