乐趣区

关于gpu:深度学习训练-如何在云服务器上安装LightGBM

文章起源 | 恒源云社区(专一人工智能 / 深度学习云 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
退出移动版