文章起源 | 恒源云社区(专一人工智能 / 深度学习云 GPU 服务器训练平台,官网体验网址:https://gpushare.com/)
原文地址 | https://gpushare.com/docs/best_practices/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