操做系统版本:CentOS7.Xpython
显卡版本:英伟达 Tesla P100linux
其余软件包安装信息:git
特别说明,若是没有在官网找到你的显卡版本对应的驱动,请尽快寻找你的显卡提供商确认驱动信息,不要轻易尝试;那就是在浪费时间,切记!github
这里安装P100驱动的方式,经过Yum Rpm包的安装方式,其余相关的Linux系统能够经过对应的包管理或者二进制的方式安装,若是是CentOS系统,咱们很是推荐使用Yum进行安装。shell
咱们能够经过查看pci的接口,确认显卡信息,以及是否识别出显卡,固然默认没有这个工具,咱们须要安装;安装方式以下:bootstrap
yum install pciutils -y
能够经过过滤VGA来精确信息:服务器
lspci|grep -i vga
这里咱们经过wget在线下载驱动,经过rpm安装载入到系统中:工具
wget http://cn.download.nvidia.com/tesla/410.79/nvidia-diag-driver-local-repo-rhel7-410.79-1.0-1.x86_64.rpm rpm -ivh nvidia-diag-driver-local-repo-rhel7-410.79-1.0-1.x86_64.rpm
在往下走以前咱们须要配置epel源,便于后面安装dkms
:开发工具
yum install epel-*
经过Yum安装,目前这是最简单的方式,若是你想挑战也能够采用二进制tarall的方式:测试
yum install dkms -y yum install nvidia* -y
最后为了生效,咱们须要重启操做系统:
reboot
每每重启后,你不肯定是否成功,那若是去查看信息呢,我推荐经过一下三个步骤:
lspci | grep -i nv # 查看是否加载驱动配置 lsmod | grep -i nouveau # 是否关闭了默认显卡驱动 dmesg | grep NVRM # 查看开启加载是否有异常信息
到了这里,成责成,不成你就要日志了,别照着网上文章乱搞。
只有驱动仍是不够的,咱们换须要一个些工具包便于咱们使用,其中 CUDA、CUDNN就是咱们要安装的包。
导入官方CUDA包
rpm -ivh http://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-repo-rhel7-9.0.176-1.x86_64.rpm
经过Yum安装便可
yum install cuda-9.0.176-1
咱们推荐不要安装太新的,好多组件不必定可以支持。
查看版本技巧:yum search --showduplicates cuda
PS:下载CUDNN,你可能须要一个会员,须要登陆才可以下载
Download下载地址: https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v7.4.2/prod/9.0_20181213/cudnn-9.0-linux-x64-v7.4.2.24.tgz
上传到服务器上后,解压Copy对应的库文件便可(这里咱们默认你已经回上传文件到服务之上):
tar xf cudnn-9.0-linux-x64-v7.4.2.24.solitairetheme8 cp cuda/include/cudnn.h /usr/local/cuda/include cp -a cuda/lib/* /usr/local/cuda/lib64/
这个安装对于CentOS7的系统是很是坑的,必需要来编译原声的组件,编译失败的因素不少,你准备好了?
安装OpenGL,默认状况下CUDA安装时已经安装,因此无需单独安装;(特别注意,有时候会遇到软链接丢失形成找不到so库文件),解决方法就是补全软链接便可了。
PS:补全方式,相似常规方法,经过ln 命令模拟确实的so文件便可。
安装前,你须要安装一些依赖,来保证后面的步骤可以顺序执行(我并不能保证你按照个人方式必定会成功,但至少我成功了,若是出错你须要详细检查报错信息+你的机智来解决问题)
yum install wget gcc python python python-devel -y
安装命令以下,你能够直接Copy执行(在Root身份下)
cd /usr/local/src wget https://sourceforge.net/projects/boost/files/boost/1.61.0/boost_1_61_0.tar.gz tar xf boost_1_61_0.tar.gz cd boost_1_61_0 ./bootstrap.sh --prefix=/usr/local/include/boost ./b2 install
咱们还须要安装tools工具,放心这个不会报错,锦上添花的功能:
cd tools/build/ ./b2 install --prefix=/usr/local/include/boost
没有什么特别好说的,常规操做(你在Root身份下直接复制便可):
cd /usr/local/src wget https://cmake.org/files/v3.12/cmake-3.12.0-rc1.tar.gz tar -zxf cmake-3.12.0-rc1.tar.gz cd cmake-3.12.0-rc1 ./bootstrap gmake -j $(nproc) gmake install
检查是否成功与查看版本:
cmake --version
PS:开始前,咱们认为已经安装了Python3的环境,固然Python2也是能够的,不过你须要作好心理准备。
命令以下:建议Root用户或等同权利的用户执行
cd /usr/local/src/ git clone --recursive https://github.com/Microsoft/LightGBM ; cd LightGBM mkdir build ; cd build cmake -DUSE_GPU=1 .. make -j 12 cd ../python-package/ python3 setup.py install
将so动态库Copy到系统之中,自行操做,不在演示。
安装基础测试数据包:
pip3 install wheel numpy scipy scikit-learn -U -i https://pypi.doubanio.com/simple
下载解析处理数据:
cd /usr/local/src git clone https://github.com/guolinke/boosting_tree_benchmarks.git cd boosting_tree_benchmarks/data wget "https://archive.ics.uci.edu/ml/machine-learning-databases/00280/HIGGS.csv.gz" gunzip HIGGS.csv.gz python3 higgs2libsvm.py
PS: 这里你可能会遇到xrange
错误,由于Python3已经没有xrange,这里修改成range便可。
建立测试数据:
cat > lightgbm_gpu.conf <<EOF max_bin = 63 num_leaves = 255 num_iterations = 50 learning_rate = 0.1 tree_learner = serial task = train is_training_metric = false min_data_in_leaf = 1 min_sum_hessian_in_leaf = 100 ndcg_eval_at = 1,3,5,10 sparse_threshold = 1.0 device = gpu gpu_platform_id = 0 gpu_device_id = 0 EOF echo "num_threads=$(nproc)" >> lightgbm_gpu.conf
测试命令以下:
# Run of GPU /usr/local/src/LightGBM/lightgbm config=lightgbm_gpu.conf data=higgs.train valid=higgs.test objective=binary metric=auc # Run of CPU /usr/local/src/LightGBM/lightgbm config=lightgbm_gpu.conf data=higgs.train valid=higgs.test objective=binary metric=auc device=cpu
这里能够将生成的lightgbm命令与So文件Copy到系统之中方便后期使用。
看到这里说明你已经成功了,是否是很Easy,固然若是你没搞定回头看看错误信息;个人这个博文你不必定可以成功,至少我成功过了,切记不要根据网上的帖子乱搞。