LightGBM Ubuntu Installtion
开发机的 Ubuntu版本为16.04,假设当前账户具有sudo权限。 lightGBM 的官方文档 https://lightgbm.readthedocs.io/en/latest/GPU-Tutorial.html 给出的安装步骤经过试错后扩展如下。
下载boost
- 推荐直接下载源码编译安装:
wget -O boost_1_69_0.tar.gz http://sourceforge.net/projects/boost/files/boost/1.69.0/boost_1_69_0.tar.gz/download
开发机连接 sf速度较慢,可以在配置了科学上网的本地机器上下载完成后 scp上传 或者借助 python Juypyter notebook的上传功能上传到制定目录。
- 解压缩:
tar xzvf boost_1_69_0.tar.gz
- 进入目录:
cd boost_1_69_0
安装附加依赖库
sudo apt-get install build-essential g++ python-dev autotools-dev libicu-dev build-essential libbz2-dev libboost-all-dev
安装boost
./bootstrap.sh
./b2
./b2 install
有可能会报 pyconfig.h No such file or directory, 这时候需要去修改 /boost_1_69_0/toos/build/src/tools/python.jam 文件的第 500 多行,将: includes? = (prefix)/include/python${version} 改为 includes ?= $(prefix)/include/python$(version)m
因为:python 3 版本的 include 比 python 2 版本的include 路径多了一个m: 比如, ~/.pyenv/versions/3.6.6/include/python3.6m。修改完之后,重新执行:
./bootstrap.sh --prefix=/usr/local
./b2 install --prefix=/home/chenx/local
安装 lightGBM GPU
cmake -DUSE_GPU=1 -DBOOST_ROOT=/home/chenx/boost_1_69_0 -DBOOST_LIBRARYDIR=/home/chenx/local -DOpenCL_LIBRARY=/usr/local/cuda/lib64/libOpenCL.so -DOpenCL_INCLUDE_DIR=/usr/local/cuda/include/ ..
make -j
注意上面两个 -DBOOST_ROOT 和 -DBOOST_LIBRARYDIR 这两个路径一个对应boost的根目录,一个对应 boost的lib目录,否则会报 fatal error:boost/compute/core.hpp: No such file or directory 之类的错误。另外,DOpenCL_LIBRARY 是 CUDA 相关的库文件的目录,要确保安装正确,不再赘述。
安装 Python package
cd ../python-package
python setup.py install
测试程序
from lightgbm import LGBMClassifer
from sklearn.datasets import make_moons
model = LGBMClassifier(boosting_type='gbdt', num_leaves=31, max_depth=-1, learning_rate=0.1, n_estimators=300, device="gpu")
train, label = make_moons(n_samples=300000, shuffle=True, noise=0.3, random_state=None)
model.fit(train,label)
CC BY-NC-SA 4.0
本文由 Xiang CHEN 陈向 创作,采用 CC BY-NC-SA 4.0 协议,首发于 https://chenxofhit.xyz 个人网站。
您可以自由地:
- 分享 — 在任何媒介以任何形式复制、发行本作品
- 演绎 — 修改、转换或以本作品为基础进行创作
惟须遵守下列条件:
- 署名 — 您必须给出适当的署名,提供指向本许可协议的链接,同时标明是否(对原始作品)作了修改。您可以用任何合理的方式来署名,但是不得以任何方式暗示许可人为您或您的使用背书。
- 非商业性使用 — 您不得将本作品用于商业目的。
- 相同方式共享 — 如果您再混合、转换或者基于本作品进行创作,您必须基于与原先许可协议相同的许可协议分发您贡献的作品。
商业使用请联系:[email protected]