зеркало из https://github.com/microsoft/LightGBM.git
[python-package] add install option to enable printing of time costs (#5497)
This commit is contained in:
Родитель
8bd5e89785
Коммит
f5dd320e18
|
@ -163,6 +163,15 @@ By default, installation in environment with 32-bit Python is prohibited. Howeve
|
||||||
|
|
||||||
It is **strongly not recommended** to use this version of LightGBM!
|
It is **strongly not recommended** to use this version of LightGBM!
|
||||||
|
|
||||||
|
Build with time costs output
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. code:: sh
|
||||||
|
|
||||||
|
pip install lightgbm --install-option=--time-costs
|
||||||
|
|
||||||
|
Use this option to make LightGBM output time costs for different internal routines, to investigate and benchmark its performance.
|
||||||
|
|
||||||
Install from `conda-forge channel <https://anaconda.org/conda-forge/lightgbm>`_
|
Install from `conda-forge channel <https://anaconda.org/conda-forge/lightgbm>`_
|
||||||
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
||||||
|
|
||||||
|
|
|
@ -27,6 +27,7 @@ LIGHTGBM_OPTIONS = [
|
||||||
('hdfs', 'h', 'Compile HDFS version'),
|
('hdfs', 'h', 'Compile HDFS version'),
|
||||||
('bit32', None, 'Compile 32-bit version'),
|
('bit32', None, 'Compile 32-bit version'),
|
||||||
('precompile', 'p', 'Use precompiled library'),
|
('precompile', 'p', 'Use precompiled library'),
|
||||||
|
('time-costs', None, 'Output time costs for different internal routines'),
|
||||||
('boost-root=', None, 'Boost preferred installation prefix'),
|
('boost-root=', None, 'Boost preferred installation prefix'),
|
||||||
('boost-dir=', None, 'Directory with Boost package configuration file'),
|
('boost-dir=', None, 'Directory with Boost package configuration file'),
|
||||||
('boost-include-dir=', None, 'Directory containing Boost headers'),
|
('boost-include-dir=', None, 'Directory containing Boost headers'),
|
||||||
|
@ -116,7 +117,8 @@ def compile_cpp(
|
||||||
opencl_library: Optional[str] = None,
|
opencl_library: Optional[str] = None,
|
||||||
nomp: bool = False,
|
nomp: bool = False,
|
||||||
bit32: bool = False,
|
bit32: bool = False,
|
||||||
integrated_opencl: bool = False
|
integrated_opencl: bool = False,
|
||||||
|
time_costs: bool = False
|
||||||
) -> None:
|
) -> None:
|
||||||
build_dir = CURRENT_DIR / "build_cpp"
|
build_dir = CURRENT_DIR / "build_cpp"
|
||||||
rmtree(build_dir, ignore_errors=True)
|
rmtree(build_dir, ignore_errors=True)
|
||||||
|
@ -154,6 +156,8 @@ def compile_cpp(
|
||||||
cmake_cmd.append("-DUSE_OPENMP=OFF")
|
cmake_cmd.append("-DUSE_OPENMP=OFF")
|
||||||
if use_hdfs:
|
if use_hdfs:
|
||||||
cmake_cmd.append("-DUSE_HDFS=ON")
|
cmake_cmd.append("-DUSE_HDFS=ON")
|
||||||
|
if time_costs:
|
||||||
|
cmake_cmd.append("-DUSE_TIMETAG=ON")
|
||||||
|
|
||||||
if system() in {'Windows', 'Microsoft'}:
|
if system() in {'Windows', 'Microsoft'}:
|
||||||
if use_mingw:
|
if use_mingw:
|
||||||
|
@ -241,6 +245,7 @@ class CustomInstall(install):
|
||||||
self.mpi = False
|
self.mpi = False
|
||||||
self.hdfs = False
|
self.hdfs = False
|
||||||
self.precompile = False
|
self.precompile = False
|
||||||
|
self.time_costs = False
|
||||||
self.nomp = False
|
self.nomp = False
|
||||||
self.bit32 = False
|
self.bit32 = False
|
||||||
|
|
||||||
|
@ -259,7 +264,8 @@ class CustomInstall(install):
|
||||||
use_hdfs=self.hdfs, boost_root=self.boost_root, boost_dir=self.boost_dir,
|
use_hdfs=self.hdfs, boost_root=self.boost_root, boost_dir=self.boost_dir,
|
||||||
boost_include_dir=self.boost_include_dir, boost_librarydir=self.boost_librarydir,
|
boost_include_dir=self.boost_include_dir, boost_librarydir=self.boost_librarydir,
|
||||||
opencl_include_dir=self.opencl_include_dir, opencl_library=self.opencl_library,
|
opencl_include_dir=self.opencl_include_dir, opencl_library=self.opencl_library,
|
||||||
nomp=self.nomp, bit32=self.bit32, integrated_opencl=self.integrated_opencl)
|
nomp=self.nomp, bit32=self.bit32, integrated_opencl=self.integrated_opencl,
|
||||||
|
time_costs=self.time_costs)
|
||||||
install.run(self)
|
install.run(self)
|
||||||
if LOG_PATH.is_file():
|
if LOG_PATH.is_file():
|
||||||
LOG_PATH.unlink()
|
LOG_PATH.unlink()
|
||||||
|
@ -285,6 +291,7 @@ class CustomBdistWheel(bdist_wheel):
|
||||||
self.mpi = False
|
self.mpi = False
|
||||||
self.hdfs = False
|
self.hdfs = False
|
||||||
self.precompile = False
|
self.precompile = False
|
||||||
|
self.time_costs = False
|
||||||
self.nomp = False
|
self.nomp = False
|
||||||
self.bit32 = False
|
self.bit32 = False
|
||||||
|
|
||||||
|
@ -307,6 +314,7 @@ class CustomBdistWheel(bdist_wheel):
|
||||||
install.mpi = self.mpi
|
install.mpi = self.mpi
|
||||||
install.hdfs = self.hdfs
|
install.hdfs = self.hdfs
|
||||||
install.precompile = self.precompile
|
install.precompile = self.precompile
|
||||||
|
install.time_costs = self.time_costs
|
||||||
install.nomp = self.nomp
|
install.nomp = self.nomp
|
||||||
install.bit32 = self.bit32
|
install.bit32 = self.bit32
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче