美文网首页
Windows安装GPU版本Lightgbm

Windows安装GPU版本Lightgbm

作者: 弓长巳寸 | 来源:发表于2019-02-16 11:59 被阅读0次

    前言

    Lightgbm是使用Leaf-wise决策树策略的机器学习算法,由于其准确性和快速(都是相对的)的优点,被很多人用于数据竞赛等领域。
    CPU版本的Lightgbm安装较简单,GPU版本的安装需要一些前提,下面以安装文档和自己安装的经历简单介绍下GPU版本lightgbm的安装过程。先附上官方的安装文档地址:https://lightgbm.readthedocs.io/en/latest/Installation-Guide.html#id18

    运行环境

    • 操作系统:Windows 10 家庭版 i7-7700HQ 16GB


      操作系统信息
    • GPU:GTX 1050 4GB(笔记本版本)

    • Python 3.6.6(Annaconda 2 下的Python3环境)

    安装

    1. 安装OPENCL SDK
      对于N家显卡来说,就是安装CUDA。INTEL和AMD也有各自对应的SDK。
      我的显卡时N家的,所以安装CUDA。注意版本,并不是越高越好,要匹配自己的GPU。
      比如GTX 1050要安装9.0版本,而最新的是10.0版本,并不可用。
      支持CUDA的显卡列表:
      https://developer.nvidia.com/cuda-gpus
      CUDA官方的安装说明:
      https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html
      下载地址:
      https://developer.nvidia.com/cuda-downloads
      安装完成后可以,可以用nvcc --version打印版本信息:
    (py36) C:\Users\ZHANG JIZHONG>nvcc --version
    nvcc: NVIDIA (R) Cuda compiler driver
    Copyright (c) 2005-2017 NVIDIA Corporation
    Built on Fri_Sep__1_21:08:32_Central_Daylight_Time_2017
    Cuda compilation tools, release 9.0, V9.0.176
    
    1. 安装编译器
      编译器可以选择VS或MinGW,这里我选择了VS。
      VS需要2015或以上版本,这里我安装了VS 2017 社区版,地址:
      https://visualstudio.microsoft.com/zh-hans/vs/community/

    2. 安装boost库
      注意匹配VS版本:

    Visual Studio 2015 -> msvc-14.0-64.exe,
    Visual Studio 2017 -> msvc-14.1-64.exe.

    VS2017对应安装boost 1.64,可以从sourceforge下载:
    https://sourceforge.net/projects/boost/files/boost-binaries/

    1. 安装CMake
      安装CMake 3.8以上版本,地址:https://cmake.org/download/
    (py36) C:\Users\ZHANG JIZHONG>cmake -version
    cmake version 3.13.2
    
    1. pip安装lightgbm
    pip install lightgbm --install-option=--gpu
    

    通过参数指定GPU版本。至此,GPU版本的lightgbm安装完成。

    使用

    当要指定使用GPU训练时,需给定参数device='gpu'。如果有多个GPU的(比如还有核显),可以通过GPUCapsViewer查看GPU ID,如下图:


    GPUCapsViewer

    右上角的“2: NVIDIA CUDA”和稍稍下方的“1: GeForce GTX 1050”分别对应lightgbm中的gpu_platform_id和gpu_device_id。但要注意,GPUCapsViewer中的ID计数从1开始,而python中则从0开始,因此这两个数字都要减去1。也就是说,对于该环境,lightgbm的参数需设置为:

    device='gpu', gpu_platform_id=1, gpu_device_id=0
    

    结语

    • GPU训练未必一定比CPU快,这取决于训练集大小、CPU和GPU能力等客观因素。
    • lightgbm GPU训练不支持过大的max_bin,我试过max_bin=512时报错,但默认255没有问题。

    相关文章

      网友评论

          本文标题:Windows安装GPU版本Lightgbm

          本文链接:https://www.haomeiwen.com/subject/pghbeqtx.html