July · 2022年01月04日

恒源云(GPUSHARE)_云GPU服务器如何使用LightGBM?

文章来源 | 恒源云社区(一个专注 AI 行业的共享算力平台:恒源智享云)

原文地址 | LightGBM


新的一年,祝大家虎年大吉,虎虎生威~🐯
今天是新年开工第一天,就简单的给大家分享一个算法框架:LightGBM

LightGBM

LightGBM 是一个基于决策树算法的快速、分布式、高性能的框架,用于排名、分类和许多其他机器学习任务。

安装

LightGBM 支持通过 CLI、Python、R 使用。下面提供 Python 包与 CLI 的安装,编译时均加入了支持 GPU 的选项。

Python 包的编译安装:

# 安装 boost 依赖
apt-get update
apt-get install libboost-dev libboost-system-dev libboost-filesystem-dev -y

# 安装支持 GPU 的 Python 包
pip install lightgbm --install-option=--gpu --install-option="--opencl-include-dir=/usr/local/cuda/include/" --install-option="--opencl-library=/usr/local/cuda/lib64/libOpenCL.so"

mkdir -p /etc/OpenCL/vendors
echo "libnvidia-opencl.so.1" > /etc/OpenCL/vendors/nvidia.icd

命令行的编译安装:

# 安装 boost 依赖
apt-get update
apt-get install libboost-dev libboost-system-dev libboost-filesystem-dev -y

# 克隆 LightGBM 代码
git clone "https://mirror.ghproxy.com/https://github.com/microsoft/LightGBM.git"
cd LightGBM
# 切换版本分支
git checkout v3.2.1
# 替换一些子模块的仓库地址为加速地址,并克隆
sed -i "s/ \(https:\/\/github.com\)/ https:\/\/mirror.ghproxy.com\/\1/" .gitmodules
git submodule update --init
cd external_libs/fast_double_parser
sed -i "s/ \(https:\/\/github.com\)/ https:\/\/mirror.ghproxy.com\/\1/" .gitmodules
git submodule update --init
cd ../..

# 编译安装支持 GPU 选项的命令行
mkdir build
cd build
cmake -DUSE_GPU=1 -DOpenCL_LIBRARY=/usr/local/cuda/lib64/libOpenCL.so -DOpenCL_INCLUDE_DIR=/usr/local/cuda/include/ ..
make -j4

mkdir -p /etc/OpenCL/vendors
echo "libnvidia-opencl.so.1" > /etc/OpenCL/vendors/nvidia.icd

# 执行命令行测试
cd ..
./lightgbm

# 使用源码也可以同时安装 Python 包
cd python-package
python setup.py install --gpu --opencl-include-dir=/usr/local/cuda/include/ --opencl-library=/usr/local/cuda/lib64/libOpenCL.so --no-cache
推荐阅读
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息