Ubuntu之python虚拟环境下安装LightGBM-GPU版


aihuafeng66t
克里斯蒂亚诺诺 2024-01-03 12:18:23 62199
分类专栏: 资讯

一、LightGBM简介
  LightGBM是一种基于梯度提升决策树(Gradient Boosting Decision Tree)的机器学习算法,它由微软亚洲研究院开发。与传统的梯度提升决策树相比,LightGBM采用了一些优化技术,使其在训练速度和模型性能上具有更好的表现。LightGBM的主要特点包括:

快速训练速度:LightGBM采用了基于直方图的算法来高效地处理特征的离散化,从而加快了训练速度。
低内存占用:LightGBM使用了稀疏特征优化算法,可以有效地减少内存的使用。
高准确率:LightGBM采用了基于直方图的算法来进行特征分割,可以更好地处理离散和连续特征,从而提高了模型的准确率。
支持并行化:LightGBM可以使用多线程来并行地训练模型,加快了训练速度。
可扩展性:LightGBM支持大规模数据集的训练,可以处理亿级别的样本和特征。
  总之,LightGBM是一种快速、高效、准确的机器学习算法,适用于处理大规模数据集和高维特征的问题。它在许多机器学习竞赛中取得了优秀的成绩,并被广泛应用于实际的数据科学项目中。

二、安装环境要求
  安装要求见官网文档,可以看到linux环境安装lightgbm-gpu版本要求:

OpenCL 1.2以上版本
libboost 1.56以上版本
CMake 3.2 以上版本
glibc 2.14以上版本

  博主是在Ubuntu18.04系统环境下安装,经过测试发现如果是安装cuda支持除了以上要求还需要:
cuda10.0以上
cmake 3.16以上版本
三、安装步骤
1、检查系统环境
  检查当前系统环境,可以看到OpenCL、libboost、cuda、glibc版本都满足要求,只有cmake版本不满足要求。
————————————————
版权声明:本文为CSDN博主「恒悦sunsite」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/carefree2005/article/details/134811640

2、安装cmake2.24版本
  当前系统cmake已经安装,如果安装到默认路径下会有冲突需要先卸载,为了避免不影响现有系统运行,建议安装到其他目录,通过绝对路径调用此版本的cmake。我们这里安装在/opt/cmake目录下,安装完成后验证版本显示为3.24.2。

root@test:/opt# wget https://github.com/Kitware/CMake/releases/download/v3.24.2/cmake-3.24.2.tar.gz
root@test:/opt# tar -zxvf cmake-3.24.2.tar.gz
root@test:/opt# cd cmake-3.24.2
root@test:/opt/cmake# ./configure --prefix=/opt/cmake
root@test:/opt/cmake# make -j8                        
root@test:/opt/cmake# make install

root@test:/opt/cmake# ./bin/cmake --version
cmake version 3.24.2

3、创建python虚拟环境
  我们可以使用anconda3管理python虚拟环境,关于anconda3安装见博文Ubuntu之Anaconda3安装。

ubuntu@test:~/anaconda3$ conda create -n py38 python=3.8

(base) ubuntu@test:~$ conda activate py38

4、下载lightgbm
(py38) ubuntu@test:~$ git clone --recursive https://github.com/microsoft/LightGBM

5、构建lightgbm
  构建的时候记得使用满足版本要求的cmake,为了不影响全局我们可以不添加环境变量,使用绝对路径cmake命令进行构建。

(py38) ubuntu@test:~$ cd LightGBM/
(py38) ubuntu@test:~/LightGBM$ mkdir build
(py38) ubuntu@test:~/LightGBM$ cd build/
(py38) ubuntu@test:~/LightGBM/build$ /opt/cmake/bin/cmake -DUSE_GPU=1 -DOpenCL_LIBRARY=/usr/local/cuda/lib64/libOpenCL.so -DOpenCL_INCLUDE_DIR=/usr/local/cuda/include/ …

– Build files have been written to: /home/ubuntu/LightGBM/build

6、编译lightgbm
(py38) ubuntu@test:~/LightGBM/build$ make -j8

[100%] Linking CXX executable /home/ubuntu/LightGBM/lightgbm
[100%] Built target lightgbm

7、安装到python虚拟环境
  官网提供的编译步骤到第6步就结束了,第6步完成后会生产lightgbm二进制可执行文件,执行make install可以安装到系统中。如果我们需要安装到python虚拟环境,在LightGBM目录下有一个build-python.sh脚本,可以查看使用说明,执行如下命令可以安装到python虚拟环境中,记得要先切换到你需要安装的虚拟环境哦。

(py38) ubuntu@test:~/LightGBM/build$ cd …
(py38) ubuntu@test:~/LightGBM$ sh ./build-python.sh install --precompile

Successfully installed lightgbm-4.1.0.99 numpy-1.24.4 scipy-1.10.1
cleaning up

8、版本验证
  我们直接pip install lightgbm可以安装CPU版本,版本号是4.1.0,编译安装GPU版本号是4.1.0.99。python交互模式下引入lightgbm模块不报错,说明安装成功。

9、执行测试
  是否真的执行GPU,我们编写一个简单测试代码,然后执行该python代码,执行结果可以看到程序正常执行,使用到了GPU,说明安装成功。

(py38) ubuntu@test:~/LightGBM$ cat test.py 
import lightgbm as lgb
import numpy as np

# 创建一个示例数据集
X_train = np.random.rand(100, 10)
y_train = np.random.randint(2, size=100)

# 将数据集加载到LightGBM的Dataset对象中
train_data = lgb.Dataset(X_train, label=y_train)

# 设置LightGBM的参数,包括使用GPU加速
params = {'boosting_type': 'gbdt',
          'objective': 'binary',
          'metric': 'binary_logloss',
          'device': 'gpu'}

# 在GPU上训练模型
model = lgb.train(params, train_data, num_boost_round=10)

打印模型的预测结果
print(model.predict(X_train))

## 10、总结
  博主安装过程中主要遇到了两个问题,一个就是使用系统当前cmake版本构建的时候一直报错,安装cmake3.24版本后构建成功。另一个就是编译完成后不知道如何安装到python虚拟环境中,回头看结构目录、README文档,发现有一个专门的build-python.sh脚本。所以安装软件的时候一个是多找官方文档,多角度对比评估,仔细阅读README文档,查看软件包下的可读文件,也许你需要的答案就在其中。
————————————————
版权声明:本文为CSDN博主「恒悦sunsite」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/carefree2005/article/details/134811640

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=34613
赞同 0
评论 0 条
克里斯蒂亚诺诺L1
粉丝 0 发表 307 + 关注 私信
上周热门
Kingbase用户权限管理  2020
信刻全自动光盘摆渡系统  1749
信刻国产化智能光盘柜管理系统  1419
银河麒麟添加网络打印机时,出现“client-error-not-possible”错误提示  1014
银河麒麟打印带有图像的文档时出错  924
银河麒麟添加打印机时,出现“server-error-internal-error”  715
麒麟系统也能完整体验微信啦!  657
统信桌面专业版【如何查询系统安装时间】  633
统信操作系统各版本介绍  624
统信桌面专业版【全盘安装UOS系统】介绍  598
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
信创开放社区邀请他人注册的具体步骤如下 15
如何玩转信创开放社区—从小白进阶到专家 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

添加我为好友,拉您入交流群!

请使用微信扫一扫!