跳转至

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://github.com/microsoft/LightGBM.git"
cd LightGBM
# 切换版本分支
git checkout v3.2.1
git submodule update --init
cd external_libs/fast_double_parser
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