在 Google Colab 上安装 LightGBM 的 GPU 支持

问题描述 投票:0回答:4

有人幸运地尝试使用 Google Colab 上的笔记本安装对 lightgbm 的 GPU 支持吗?

python gpu google-colaboratory lightgbm
4个回答
6
投票

非常简单:运行即可

!pip install lightgbm --install-option=--gpu

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"

记得在笔记本中启用 GPU 支持,并在 lightgbm 设置中添加

'device':'gpu'
。并且不要忘记先卸载不支持gpu版本的lightgbm版本。


5
投票

确保您正确遵循安装步骤

!git clone --recursive https://github.com/Microsoft/LightGBM
%cd LightGBM
!mkdir build
%cd build
!cmake ../../LightGBM
!make -j4

此后您必须执行 LightGBM 文件夹中的安装文件

%cd LightGBM/python-package
!python3 setup.py install --gpu

一旦完成,一切就都准备好了。 ps:确保你已经安装了cmake,如果不是的话

!pip install cmake

2
投票

大部分内容都遵循此处提供的文档,并进行了两个小调整以使其在 Google Colab 上运行。
由于实例在使用 12 小时后会更新,因此我将其发布在笔记本的开头,以使用 lightgbm 重新安装 GPU 支持:

    !apt-get -qq install --no-install-recommends nvidia-375
    !apt-get -qq install --no-install-recommends nvidia-opencl-icd-375 nvidia-opencl-dev opencl-headers
    !apt-get -qq install --no-install-recommends git cmake build-essential libboost-dev libboost-system-dev libboost-filesystem-dev
    !pip3 install -qq lightgbm --install-option=--gpu

1
投票

更新了

lightgbm>=4.0.0
的答案(于2023年7月发布

lightgbm
(LightGBM 的 Python 包),已包含 GPU 支持。只要您使用的是可用的 Windows 或 Linux 系统(如撰写本文时在 Google Colab 上),则不需要额外的重新安装或手动编译。

在您的 Colab 笔记本中,选择

Edit -> Notebook Settings
,然后选择
T4 GPU
(或任何其他可用的 NVIDIA GPU)。

在笔记本单元中运行以下命令,告诉 LightGBM 使用 NVIDIA OpenCL 可安装客户端驱动程序 (ICD)。有关其含义的更多详细信息,请参阅 OpenCL 文档 (link)。

!mkdir -p /etc/OpenCL/vendors && echo "libnvidia-opencl.so.1" > /etc/OpenCL/vendors/nvidia.icd

然后通过传递

lightgbm
来使用具有 GPU 支持的
"device": "gpu
,例如如下所示:

import lightgbm as lgb
from sklearn.datasets import make_regression

X, y = make_regression(n_samples=10_000)
dtrain = lgb.Dataset(X, label=y)
bst = lgb.train(
    params={
        "objective": "regression",
        "device": "gpu",
        "verbose": 1
    },
    train_set=dtrain,
    num_boost_round=5
)

您将在日志中看到类似以下内容,确认 GPU 正在用于训练。

[LightGBM] [Info] This is the GPU trainer!!
[LightGBM] [Info] Total Bins 25500
[LightGBM] [Info] Number of data points in the train set: 10000, number of used features: 100
[LightGBM] [Info] Using GPU Device: Tesla T4, Vendor: NVIDIA Corporation
[LightGBM] [Info] Compiling OpenCL Kernel with 256 bins...
[LightGBM] [Info] GPU programs have been built
[LightGBM] [Info] Size of histogram bin entry: 8
[LightGBM] [Info] 100 dense feature groups (0.95 MB) transferred to GPU in 0.001878 secs. 0 sparse feature groups
[LightGBM] [Info] Start training from score 1.025020

注意:从 LightGBM v4.0.0 开始,还有第二种方法可以使用 NVIDIA GPU 的 GPU 加速。通过运行以下命令重新编译

lightgbm
并支持 CUDA:

!pip install \
    --force-reinstall \
    --no-binary lightgbm \
    --config-settings=cmake.define.USE_CUDA=ON \
    lightgbm

重新启动Notebook运行时后,您可以通过参数传递

{"device": "cuda"}
来使用CUDA版本,如下所示:

import lightgbm as lgb
from sklearn.datasets import make_regression

X, y = make_regression(n_samples=10_000)
dtrain = lgb.Dataset(X, label=y)
bst = lgb.train(
    params={
        "objective": "regression",
        "device": "cuda",
        "verbose": 1
    },
    train_set=dtrain,
    num_boost_round=5
)
© www.soinside.com 2019 - 2024. All rights reserved.