LightGBM Python包
项目描述
安装
准备
不支持32位Python。请安装64位版本。如果您有强烈的需求使用32位Python进行安装,请参考使用32位Python构建32位版本的部分。
从PyPI安装
pip install lightgbm
包含在轮文件中的编译库默认支持GPU和CPU版本。此功能是实验性的,目前仅适用于Windows和Linux。要使用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
所有要求均适用于此安装选项,请参考 从源代码构建部分。
需要 Boost 和 OpenCL:安装详情请见 安装指南。通常还需要通过 pip 选项将 OpenCL_INCLUDE_DIR、OpenCL_LIBRARY 选项传递给 Linux 的 CMake,以及将 BOOST_ROOT、BOOST_LIBRARYDIR 选项传递给 Windows 的 CMake,例如:
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
有关更多详情,请参阅 FindBoost 和 FindOpenCL。
构建 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 文件,但不安装它。
该脚本需要一些依赖项,如 build、scikit-build-core 和 wheel。在受限制或无互联网访问的环境中,安装这些工具,然后传递 --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
项目详情
哈希值 for lightgbm-4.5.0-py3-none-manylinux_2_28_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 960a0e7c077de0ca3053f1325d3edfc92ea815acf5176adcacdea0f635aeef9b |
|
MD5 | 52ef2593451661560ed2f1b2d2c03dd5 |
|
BLAKE2b-256 | 4e191b928cad70a4e1a3e2c37d5417ca2182510f2451eaadb6c91cd9ec692cae |
哈希值 for lightgbm-4.5.0-py3-none-manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7f0a3dded769d83560845f2c3fe1966630ec1ca527c380d9d48d9b35579a796e |
|
MD5 | e68fba88fc875655a05c363eb011aba7 |
|
BLAKE2b-256 | 846a10c4921526600559530d49d70553d1bc1bd84c616808c629a620a6160305 |
哈希值 for lightgbm-4.5.0-py3-none-macosx_12_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1301aa853e1fe4bf318539aa132f373862b04aa537af502508711ce03dffff09 |
|
MD5 | f13247ec9781f49bd87e4d66ecde5b2d |
|
BLAKE2b-256 | 113f49913ed111286e23bcc40daab54542d80924264dca8ae371514039ab83ab |
哈希值 for lightgbm-4.5.0-py3-none-macosx_10_15_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2212e2166af6379bc005e6f7041dd2dcba3750238eccbc55d09d3c0717c51187 |
|
MD5 | afebbe0484ba4d0a95c19982235acdbd |
|
BLAKE2b-256 | 1bd246520b6e255298e920df26ff6e5e4fc788c927886e1e30a96b27c2f94924 |