跳转到主要内容

LightGBM Python包

项目描述

License Python Versions PyPI Version PyPI Downloads conda Downloads API Docs

安装

准备

不支持32位Python。请安装64位版本。如果您有强烈的需求使用32位Python进行安装,请参考使用32位Python构建32位版本的部分

PyPI安装

pip install lightgbm

包含在轮文件中的编译库默认支持GPUCPU版本。此功能是实验性的,目前仅适用于WindowsLinux。要使用GPU版本,您只需安装OpenCL运行时库。对于NVIDIA和AMD GPU,它们已包含在您的显卡普通驱动程序中,因此不需要采取任何操作。如果您想使AMD或Intel CPU像GPU一样运行(用于测试和调试),可以在Windows上安装AMD APP SDK,在Linux上安装PoCL。许多现代Linux发行版都提供了PoCL的软件包,在基于Debian的发行版中查找pocl-opencl-icd,在基于RedHat的发行版中查找pocl

对于Windows用户,如果未安装Visual Studio(2015或更高版本),则需要VC运行时库。

在某些罕见情况下,当在导入LightGBM时遇到OSError: libgomp.so.1: cannot open shared object file: No such file or directory错误时,您需要单独安装OpenMP运行时库(使用您的包管理器并搜索lib[g|i]omp来完成此操作)。

对于macOS(我们为最新的3个macOS版本提供轮文件)用户

  • 从版本2.2.1开始,分发轮文件中的库文件由Apple Clang(版本2.2.1 - 2.3.1为Xcode_8.3.3,版本2.3.2 - 3.3.2为Xcode_9.4.1,版本4.0.0及以上为Xcode_11.7)编译器构建。这意味着您不再需要安装gcc编译器。取而代之的是,您需要安装OpenMP库,这对于在带有Apple Clang编译器的系统上运行LightGBM是必需的。您可以通过以下命令安装OpenMP库:brew install libomp

  • 对于小于2.2.1且不小于2.1.2的版本,必须首先安装带有OpenMP支持的gcc-8。有关安装带有OpenMP支持的gcc-8的说明,请参阅安装指南

  • 对于小于2.1.2的版本,需要带有OpenMP的gcc-7

与Dask一起使用LightGBM

要安装使用lightgbm.dask所需的所有依赖项,请附加[dask]

pip install 'lightgbm[dask]'

与pandas一起使用LightGBM

要安装使用LightGBM中的pandas所需的所有依赖项,请附加[pandas]

pip install 'lightgbm[pandas]'

与scikit-learn一起使用LightGBM

要安装使用LightGBM中的scikit-learn所需的所有依赖项,请附加[scikit-learn]

pip install 'lightgbm[scikit-learn]'

从源代码构建

pip install --no-binary lightgbm lightgbm

此外,在某些罕见情况下,您可能还需要单独安装OpenMP运行时库(使用您的包管理器并搜索lib[g|i]omp来完成此操作)。

对于macOS用户,您可以使用Apple Clang或gcc进行安装。

  • 如果您更喜欢Apple Clang,应首先安装OpenMP(有关安装的详细信息,请参阅安装指南)。

  • 如果您更喜欢 gcc,则需要安装它(安装详情请见 安装指南),并通过运行 export CXX=g++-7 CC=gcc-7(将“7”替换为您机器上安装的 gcc 版本)来指定编译器。

对于 Windows 用户,需要 Visual Studio(或 VS Build Tools)。

构建无线程版本
pip install lightgbm --config-settings=cmake.define.USE_OPENMP=OFF

除了 OpenMP 要求外,所有要求均适用于此安装选项,请参考 从源代码构建部分

强烈不建议使用此版本的 LightGBM!

构建 MPI 版本
pip install lightgbm --config-settings=cmake.define.USE_MPI=ON

所有要求均适用于此安装选项,请参考 从源代码构建部分

对于 Windows 用户,不支持使用 MinGW-w64 进行编译。

需要 MPI 库:安装详情请见 安装指南

构建 GPU 版本
pip install lightgbm --config-settings=cmake.define.USE_GPU=ON

所有要求均适用于此安装选项,请参考 从源代码构建部分

需要 BoostOpenCL:安装详情请见 安装指南。通常还需要通过 pip 选项将 OpenCL_INCLUDE_DIROpenCL_LIBRARY 选项传递给 LinuxCMake,以及将 BOOST_ROOTBOOST_LIBRARYDIR 选项传递给 WindowsCMake,例如:

pip install lightgbm \
  --config-settings=cmake.define.USE_GPU=ON \
  --config-settings=cmake.define.OpenCL_INCLUDE_DIR="/usr/local/cuda/include/" \
  --config-settings=cmake.define.OpenCL_LIBRARY="/usr/local/cuda/lib64/libOpenCL.so"

所有可以通过 cmake.define.{option} 传递的可用选项。

  • Boost_ROOT

  • Boost_DIR

  • Boost_INCLUDE_DIR

  • BOOST_LIBRARYDIR

  • OpenCL_INCLUDE_DIR

  • OpenCL_LIBRARY

有关更多详情,请参阅 FindBoostFindOpenCL

构建 CUDA 版本
pip install lightgbm --config-settings=cmake.define.USE_CUDA=ON

所有要求均适用于此安装选项,请参考 从源代码构建部分

需要 CUDA 库:安装详情请见 安装指南

要在 Python 中使用 CUDA 版本,请在参数中分别传递 {"device": "cuda"}

在 Windows 上使用 MinGW-w64 构建
# in sh.exe, git bash, or other Unix-like shell
export CMAKE_GENERATOR='MinGW Makefiles'
pip install lightgbm --config-settings=cmake.define.CMAKE_SH=CMAKE_SH-NOTFOUND

首先安装 MinGW-w64

建议使用 Visual Studio,因为它在 Windows 的多核系统中的多线程效率更高(参见 问题 4问题 8)。

使用 32 位 Python 构建 32 位版本
# in sh.exe, git bash, or other Unix-like shell
export CMAKE_GENERATOR='Visual Studio 17 2022'
export CMAKE_GENERATOR_PLATFORM='Win32'
pip install --no-binary lightgbm lightgbm

默认情况下,在 32 位 Python 环境中的安装是被禁止的。然而,您可以通过传递 bit32 选项来自行移除此限制。

强烈不建议使用此版本的 LightGBM!

带有时间成本输出的构建
pip install lightgbm --config-settings=cmake.define.USE_TIMETAG=ON

使用此选项可以使 LightGBM 输出不同内部例程的时间成本,以便进行调查和基准测试。

conda-forge 频道安装

lightgbm conda 软件包可从 conda-forge 频道获取。

conda install -c conda-forge lightgbm

这些是预编译的软件包,安装速度快。如果以下任何一项为真,请使用它们而不是 pip install

  • 您更喜欢使用 conda 来管理软件环境

  • 您想使用 GPU 加速的 LightGBM

  • 您正在使用 lightgbm 不提供 wheels 的平台(如 PowerPC)

对于 lightgbm>=4.4.0,如果您在已安装 CUDA 的系统上,conda install 将自动选择启用 CUDA 的 lightgbm 构建。

conda install -c conda-forge 'lightgbm>=4.4.0'

从 GitHub 安装

所有要求均适用于此安装选项,请参考 从源代码构建部分

对于 Windows 用户,如果在安装过程中出现任何错误,并且日志中有警告 WARNING:LightGBM:从现有解决方案文件使用 MSBuild 编译失败。

git clone --recursive https://github.com/microsoft/LightGBM.git
# export CXX=g++-14 CC=gcc-14  # macOS users, if you decided to compile with gcc, don't forget to specify compilers
sh ./build-python.sh install

注意:可能需要 sudo(或在 Windows 中的管理员权限)来执行命令。

运行 sh ./build-python.sh install --nomp 以禁用 OpenMP 支持。本安装选项也适用于 构建无线程版本部分 中列出的所有要求。

运行 sh ./build-python.sh install --mpi 以启用 MPI 支持。本安装选项也适用于 构建 MPI 版本部分 中列出的所有要求。

如果您想在 Windows 上使用 MinGW-w64 而不是 Visual Studio,请运行 sh ./build-python.sh install --mingw。本安装选项也适用于 在 Windows 上使用 MinGW-w64 构建 部分中列出的所有要求。

运行 sh ./build-python.sh install --gpu 以启用 GPU 支持。本安装选项也适用于 构建 GPU 版本部分 中列出的所有要求。要向 CMake 传递额外选项,请使用以下语法:sh ./build-python.sh install --gpu --opencl-include-dir="/usr/local/cuda/include/",有关完整列表,请参阅 构建 GPU 版本部分

运行 sh ./build-python.sh install --cuda 以启用 CUDA 支持。本安装选项也适用于 构建 CUDA 版本部分 中列出的所有要求。

如果您想使用 32 位版本,请运行 sh ./build-python.sh install --bit32。本安装选项也适用于 构建与 32 位 Python 的 32 位版本 部分中列出的所有要求。

如果您想输出不同内部例程的时间成本,请运行 sh ./build-python.sh install --time-costs。本安装选项也适用于 具有时间成本输出的构建 部分中列出的所有要求。

如果在安装过程中或由于其他原因出现任何错误,您可能希望通过您喜欢的方法从源代码构建动态库(参见 安装指南),然后只需运行 sh ./build-python.sh install --precompile

构建 Wheel 文件

您可以使用 sh ./build-python.sh bdist_wheel 来构建 wheel 文件,但不安装它。

该脚本需要一些依赖项,如 buildscikit-build-corewheel。在受限制或无互联网访问的环境中,安装这些工具,然后传递 --no-isolation

sh ./build-python.sh bdist_wheel --no-isolation

使用 MSBuild 构建

要使用 MSBuild(仅限 Windows),首先在仓库根目录中运行以下命令来构建 lib_lightgbm.dll

MSBuild.exe windows/LightGBM.sln /p:Configuration=DLL /p:Platform=x64 /p:PlatformToolset=v143

然后使用该库安装 Python 包。

sh ./build-python.sh install --precompile

故障排除

请参阅 常见问题解答

示例

请参考Python 指南文件夹中的示例操作。

开发指南

为了检查对软件包的贡献是否符合其风格期望,请在仓库根目录下运行以下命令。

bash .ci/lint-python.sh

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装软件包的信息。

源分布

lightgbm-4.5.0.tar.gz (1.7 MB 查看哈希值)

上传时间

构建分布

lightgbm-4.5.0-py3-none-win_amd64.whl (1.4 MB 查看哈希值)

上传时间 Python 3 Windows x86-64

lightgbm-4.5.0-py3-none-manylinux_2_28_x86_64.whl (3.6 MB 查看哈希值)

上传时间 Python 3 manylinux: glibc 2.28+ x86-64

lightgbm-4.5.0-py3-none-manylinux2014_aarch64.whl (3.4 MB 查看哈希值)

上传时间 Python 3

lightgbm-4.5.0-py3-none-macosx_12_0_arm64.whl (1.6 MB 查看哈希值)

上传时间 Python 3 macOS 12.0+ ARM64

lightgbm-4.5.0-py3-none-macosx_10_15_x86_64.whl (1.9 MB 查看哈希值)

上传时间 Python 3 macOS 10.15+ x86-64

由以下支持