- 23 Mar, 2022 1 commit
-
-
shiyu1994 authored
* new cuda framework * add histogram construction kernel * before removing multi-gpu * new cuda framework * tree learner cuda kernels * single tree framework ready * single tree training framework * remove comments * boosting with cuda * optimize for best split find * data split * move boosting into cuda * parallel synchronize best split point * merge split data kernels * before code refactor * use tasks instead of features as units for split finding * refactor cuda best split finder * fix configuration error with small leaves in data split * skip histogram construction of too small leaf * skip split finding of invalid leaves stop when no leaf to split * support row wise with CUDA * copy data for split by column * copy data from host to CPU by column for data partition * add synchronize best splits for one leaf from multiple blocks * partition dense row data * fix sync best split from task blocks * add support for sparse row wise for CUDA * remove useless code * add l2 regression objective * sparse multi value bin enabled for CUDA * fix cuda ranking objective * support for number of items <= 2048 per query * speedup histogram construction by interleaving global memory access * split optimization * add cuda tree predictor * remove comma * refactor objective and score updater * before use struct * use structure for split information * use structure for leaf splits * return CUDASplitInfo directly after finding best split * split with CUDATree directly * use cuda row data in cuda histogram constructor * clean src/treelearner/cuda * gather shared cuda device functions * put shared CUDA functions into header file * change smaller leaf from <= back to < for consistent result with CPU * add tree predictor * remove useless cuda_tree_predictor * predict on CUDA with pipeline * add global sort algorithms * add global argsort for queries with many items in ranking tasks * remove limitation of maximum number of items per query in ranking * add cuda metrics * fix CUDA AUC * remove debug code * add regression metrics * remove useless file * don't use mask in shuffle reduce * add more regression objectives * fix cuda mape loss add cuda xentropy loss * use template for different versions of BitonicArgSortDevice * add multiclass metrics * add ndcg metric * fix cross entropy objectives and metrics * fix cross entropy and ndcg metrics * add support for customized objective in CUDA * complete multiclass ova for CUDA * separate cuda tree learner * use shuffle based prefix sum * clean up cuda_algorithms.hpp * add copy subset on CUDA * add bagging for CUDA * clean up code * copy gradients from host to device * support bagging without using subset * add support of bagging with subset for CUDAColumnData * add support of bagging with subset for dense CUDARowData * refactor copy sparse subrow * use copy subset for column subset * add reset train data and reset config for CUDA tree learner add deconstructors for cuda tree learner * add USE_CUDA ifdef to cuda tree learner files * check that dataset doesn't contain CUDA tree learner * remove printf debug information * use full new cuda tree learner only when using single GPU * disable all CUDA code when using CPU version * recover main.cpp * add cpp files for multi value bins * update LightGBM.vcxproj * update LightGBM.vcxproj fix lint errors * fix lint errors * fix lint errors * update Makevars fix lint errors * fix the case with 0 feature and 0 bin fix split finding for invalid leaves create cuda column data when loaded from bin file * fix lint errors hide GetRowWiseData when cuda is not used * recover default device type to cpu * fix na_as_missing case fix cuda feature meta information * fix UpdateDataIndexToLeafIndexKernel * create CUDA trees when needed in CUDADataPartition::UpdateTrainScore * add refit by tree for cuda tree learner * fix test_refit in test_engine.py * create set of large bin partitions in CUDARowData * add histogram construction for columns with a large number of bins * add find best split for categorical features on CUDA * add bitvectors for categorical split * cuda data partition split for categorical features * fix split tree with categorical feature * fix categorical feature splits * refactor cuda_data_partition.cu with multi-level templates * refactor CUDABestSplitFinder by grouping task information into struct * pre-allocate space for vector split_find_tasks_ in CUDABestSplitFinder * fix misuse of reference * remove useless changes * add support for path smoothing * virtual destructor for LightGBM::Tree * fix overlapped cat threshold in best split infos * reset histogram pointers in data partition and spllit finder in ResetConfig * comment useless parameter * fix reverse case when na is missing and default bin is zero * fix mfb_is_na and mfb_is_zero and is_single_feature_column * remove debug log * fix cat_l2 when one-hot fix gradient copy when data subset is used * switch shared histogram size according to CUDA version * gpu_use_dp=true when cuda test * revert modification in config.h * fix setting of gpu_use_dp=true in .ci/test.sh * fix linter errors * fix linter error remove useless change * recover main.cpp * separate cuda_exp and cuda * fix ci bash scripts add description for cuda_exp * add USE_CUDA_EXP flag * switch off USE_CUDA_EXP * revert changes in python-packages * more careful separation for USE_CUDA_EXP * fix CUDARowData::DivideCUDAFeatureGroups fix set fields for cuda metadata * revert config.h * fix test settings for cuda experimental version * skip some tests due to unsupported features or differences in implementation details for CUDA Experimental version * fix lint issue by adding a blank line * fix lint errors by resorting imports * fix lint errors by resorting imports * fix lint errors by resorting imports * merge cuda.yml and cuda_exp.yml * update python version in cuda.yml * remove cuda_exp.yml * remove unrelated changes * fix compilation warnings fix cuda exp ci task name * recover task * use multi-level template in histogram construction check split only in debug mode * ignore NVCC related lines in parameter_generator.py * update job name for CUDA tests * apply review suggestions * Update .github/workflows/cuda.yml Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * Update .github/workflows/cuda.yml Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * update header * remove useless TODOs * remove [TODO(shiyu1994): constrain the split with min_data_in_group] and record in #5062 * #include <LightGBM/utils/log.h> for USE_CUDA_EXP only * fix include order * fix include order * remove extra space * address review comments * add warning when cuda_exp is used together with deterministic * add comment about gpu_use_dp in .ci/test.sh * revert changing order of included headers Co-authored-by:
Yu Shi <shiyu1994@qq.com> Co-authored-by:
Nikita Titov <nekit94-08@mail.ru>
-
- 12 Mar, 2022 1 commit
-
-
José Morales authored
[python-package] [R-package] propagate the best iteration of cvbooster into the individual boosters (#5066)
-
- 09 Mar, 2022 1 commit
-
-
shiyu1994 authored
* fix duplicate added initial scores for single-leaf trees * add test case * Fix import in Python test * commit python suggestions Co-authored-by:Nikita Titov <nekit94-08@mail.ru>
-
- 01 Mar, 2022 1 commit
-
-
Nikita Titov authored
[tests][python] move tests that use `train()` function defined in `engine.py` from `test_basic.py` to `test_engine.py` (#5034) * Update test_basic.py * Update test_engine.py * Update test_engine.py
-
- 24 Feb, 2022 1 commit
-
-
José Morales authored
* map nullable dtypes to regular float dtypes * cast x3 to float after introducing missing values * add test for regular dtypes * use .astype and then values. update nullable_dtypes test and include test for regular numpy dtypes * more specific allowed dtypes. test no copy when single float dtype df * use np.find_common_type. set np.float128 to None when it isn't supported * set default as type(None) * move tests that use lgb.train to test_engine * include np.float32 when finding common dtype * Apply suggestions from code review Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * add linebreak Co-authored-by:
Nikita Titov <nekit94-08@mail.ru>
-
- 15 Feb, 2022 1 commit
-
-
José Morales authored
* make record_evaluation compatible with cv * test multiple metrics in cv * lint * fix cv with train metric. save stdv as well * always add dataset prefix to cv_agg * remove unused function
-
- 12 Feb, 2022 1 commit
-
-
Nikita Titov authored
* Update test_dask.py * Update test_engine.py * Update test_sklearn.py * Update test_sklearn.py * Update test_sklearn.py * Update test_sklearn.py * Update test_sklearn.py * Update test_sklearn.py * Update test_engine.py * Update test_sklearn.py * Update test_sklearn.py * Update test_sklearn.py
-
- 22 Jan, 2022 1 commit
-
-
Miguel Trejo Marrufo authored
* feat: refit additional kwargs for dataset and predict * test: kwargs for refit method * fix: __init__ got multiple values for argument * fix: pycodestyle E302 error * refactor: dataset_params to avoid breaking change * refactor: expose all Dataset params in refit * feat: dataset_params updates new_params * fix: remove unnecessary params to test * test: parameters input are the same * docs: address StrikeRUS changes * test: refit test changes in train dataset * test: set init_score and decay_rate to zero
-
- 26 Dec, 2021 1 commit
-
-
Nikita Titov authored
-
- 23 Dec, 2021 1 commit
-
-
Nikita Titov authored
-
- 20 Dec, 2021 1 commit
-
-
José Morales authored
[tests][python-package] change boston dataset to synthetic dataset in tests that don't check score (#4895) * change boston dataset to synthetic dataset in tests that don't evaluate score * format imports
-
- 12 Dec, 2021 1 commit
-
-
Nikita Titov authored
* remove `verbose_eval` argument * update example Notebook
-
- 11 Dec, 2021 1 commit
-
-
Nikita Titov authored
-
- 20 Nov, 2021 1 commit
-
-
Nikita Titov authored
* Update test_plotting.py * Update dask.py * Update sklearn.py * Update test_sklearn.py * Update basic.py * Update engine.py * Update test_engine.py * Update basic.py * Update basic.py * Update engine.py
-
- 10 Nov, 2021 2 commits
-
-
José Morales authored
* initial changes * initial version * better handling of cases * warn only with positive threshold * remove early_stopping_threshold from high-level functions * remove remaining early_stopping_threshold * update test to use callback * better handling of cases * rename threshold to min_delta enhance parameter description update tests * Apply suggestions from code review Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * reduce num_boost_round in tests * Apply suggestions from code review Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * trigger ci Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> Co-authored-by:
Nikita Titov <nekit94-12@hotmail.com>
-
tongwu-msft authored
* issue fix #4601 * fix issue 4601 it2 * add tests for issue 4601 * fix warning * fix warning * add new line at end * remove last line at end * fix lint warning * address comments * address comments * address comments * fix address * address comments * revert seed * fix recursive force split issue * fix build error * fix lint warning
-
- 13 Oct, 2021 1 commit
-
-
Nikita Titov authored
-
- 23 Aug, 2021 1 commit
-
-
Xavier Dupré authored
* add parameter object_hook to function dump_model (python API) * eol * fix syntax * lint * better documentation * Update python-package/lightgbm/basic.py Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> Co-authored-by:
xavier dupré <xavier.dupre@gmail.com> Co-authored-by:
Nikita Titov <nekit94-08@mail.ru>
-
- 10 Jul, 2021 1 commit
-
-
Nikita Titov authored
-
- 07 Jul, 2021 1 commit
-
-
Nikita Titov authored
* allow to pass some params as pathlib.Path objects * fix lint * improve indentation
-
- 06 Jul, 2021 1 commit
-
-
James Lamb authored
-
- 04 Jul, 2021 2 commits
-
-
James Lamb authored
* [python-package] convert string concatenation to f-strings in test_engine.py (fixes #4136) * Update tests/python_package_test/test_engine.py Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * revert get_workflow_status changes Co-authored-by:
Nikita Titov <nekit94-08@mail.ru>
-
Nikita Titov authored
-
- 27 Jun, 2021 1 commit
-
-
Nikita Titov authored
-
- 26 Jun, 2021 1 commit
-
-
Nikita Titov authored
-
- 15 Jun, 2021 1 commit
-
-
Nikita Titov authored
* replace pytest.parametrize * add informative message for assert
-
- 03 Jun, 2021 1 commit
-
-
Belinda Trotta authored
* Add linear leaf models to json output * Add closing bracket * Move test into test_engine.py and add asserts * Update tests/python_package_test/test_engine.py Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * Update tests/python_package_test/test_engine.py Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * Update tests/python_package_test/test_engine.py Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> Co-authored-by:
Nikita Titov <nekit94-08@mail.ru>
-
- 04 May, 2021 1 commit
-
-
Andrew Ziem authored
* Correct spelling Most changes were in comments, and there were a few changes to literals for log output. There were no changes to variable names, function names, IDs, or functionality. * Clarify a phrase in a comment Co-authored-by:
James Lamb <jaylamb20@gmail.com> * Clarify a phrase in a comment Co-authored-by:
James Lamb <jaylamb20@gmail.com> * Clarify a phrase in a comment Co-authored-by:
James Lamb <jaylamb20@gmail.com> * Correct spelling Most are code comments, but one case is a literal in a logging message. There are a few grammar fixes too. Co-authored-by:
James Lamb <jaylamb20@gmail.com>
-
- 11 Apr, 2021 1 commit
-
-
Christoph Aymanns authored
* add test for interaction constraints and monotone constraints * enforce interaction constraints in RecomputeBestSplitForLeaf * code formatting * code formatting * move interaction constraint test to test_engine * Apply suggestions from code review Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> Co-authored-by:
Nikita Titov <nekit94-08@mail.ru>
-
- 24 Feb, 2021 1 commit
-
-
Nikita Titov authored
* Update test_engine.py * Update python_package.yml * Update python_package.yml * Update test_engine.py * hotfix
-
- 16 Feb, 2021 3 commits
-
-
Nikita Titov authored
* Update setup.sh * Update test.sh * Update test_dask.py * Update test_engine.py * Update .vsts-ci.yml
-
Nikita Titov authored
* run isort in CI linting job * workaround conda compatibility issues
-
Zhuyi Xue authored
-
- 26 Jan, 2021 1 commit
-
-
Nikita Titov authored
* Update test_engine.py * Update test_sklearn.py * Update test_engine.py * Update test_sklearn.py * Update test_sklearn.py * Update test_sklearn.py * Update test_sklearn.py * Update test_engine.py * Update .vsts-ci.yml * Update .vsts-ci.yml * Update test_engine.py * Update test_dual.py * Update test_engine.py * Update .vsts-ci.yml * Update .vsts-ci.yml
-
- 23 Jan, 2021 1 commit
-
-
Nikita Titov authored
-
- 22 Jan, 2021 1 commit
-
-
Thomas J. Fan authored
* TST Migrates tset_engine.py to pytest * ENH Apply suggestions * ENH Uses temp path * ENH Fixes typos
-
- 04 Jan, 2021 1 commit
-
-
Nikita Titov authored
-
- 03 Jan, 2021 1 commit
-
-
James Lamb authored
* [R-package] allow access to params in Booster * remove unnecessary whitespace * fix test on resetting params * remove pytest_cache * Update R-package/tests/testthat/test_custom_objective.R
-
- 28 Dec, 2020 1 commit
-
-
Nikita Titov authored
* small code and docs refactoring * Update CMakeLists.txt * Update .vsts-ci.yml * Update test.sh * continue * continue * revert stable sort for all-unique values
-
- 24 Dec, 2020 1 commit
-
-
Belinda Trotta authored
* Add Eigen library. * Working for simple test. * Apply changes to config params. * Handle nan data. * Update docs. * Add test. * Only load raw data if boosting=gbdt_linear * Remove unneeded code. * Minor updates. * Update to work with sk-learn interface. * Update to work with chunked datasets. * Throw error if we try to create a Booster with an already-constructed dataset having incompatible parameters. * Save raw data in binary dataset file. * Update docs and fix parameter checking. * Fix dataset loading. * Add test for regularization. * Fix bugs when saving and loading tree. * Add test for load/save linear model. * Remove unneeded code. * Fix case where not enough leaf data for linear model. * Simplify code. * Speed up code. * Speed up code. * Simplify code. * Speed up code. * Fix bugs. * Working version. * Store feature data column-wise (not fully working yet). * Fix bugs. * Speed up. * Speed up. * Remove unneeded code. * Small speedup. * Speed up. * Minor updates. * Remove unneeded code. * Fix bug. * Fix bug. * Speed up. * Speed up. * Simplify code. * Remove unneeded code. * Fix bug, add more tests. * Fix bug and add test. * Only store numerical features * Fix bug and speed up using templates. * Speed up prediction. * Fix bug with regularisation * Visual studio files. * Working version * Only check nans if necessary * Store coeff matrix as an array. * Align cache lines * Align cache lines * Preallocation coefficient calculation matrices * Small speedups * Small speedup * Reverse cache alignment changes * Change to dynamic schedule * Update docs. * Refactor so that linear tree learner is not a separate class. * Add refit capability. * Speed up * Small speedups. * Speed up add prediction to score. * Fix bug * Fix bug and speed up. * Speed up dataload. * Speed up dataload * Use vectors instead of pointers * Fix bug * Add OMP exception handling. * Change return type of LGBM_BoosterGetLinear to bool * Change return type of LGBM_BoosterGetLinear back to int, only parameter type needed to change * Remove unused internal_parent_ property of tree * Remove unused parameter to CreateTreeLearner * Remove reference to LinearTreeLearner * Minor style issues * Remove unneeded check * Reverse temporary testing change * Fix Visual Studio project files * Restore LightGBM.vcxproj.filters * Speed up * Speed up * Simplify code * Update docs * Simplify code * Initialise storage space for max num threads * Move Eigen to include directory and delete unused files * Remove old files. * Fix so it compiles with mingw * Fix gpu tree learner * Change AddPredictionToScore back to const * Fix python lint error * Fix C++ lint errors * Change eigen to a submodule * Update comment * Add the eigen folder * Try to fix build issues with eigen * Remove eigen files * Add eigen as submodule * Fix include paths * Exclude eigen files from Python linter * Ignore eigen folders for pydocstyle * Fix C++ linting errors * Fix docs * Fix docs * Exclude eigen directories from doxygen * Update manifest to include eigen * Update build_r to include eigen files * Fix compiler warnings * Store raw feature data as float * Use float for calculating linear coefficients * Remove eigen directory from GLOB * Don't compile linear model code when building R package * Fix doxygen issue * Fix lint issue * Fix lint issue * Remove uneeded code * Restore delected lines * Restore delected lines * Change return type of has_raw to bool * Update docs * Rename some variables and functions for readability * Make tree_learner parameter const in AddScore * Fix style issues * Pass vectors as const reference when setting tree properties * Make temporary storage of serial_tree_learner mutable so we can make the object's methods const * Remove get_raw_size, use num_numeric_features instead * Fix typo * Make contains_nan_ and any_nan_ properties immutable again * Remove data_has_nan_ property of tree * Remove temporary test code * Make linear_tree a dataset param * Fix lint error * Make LinearTreeLearner a separate class * Fix lint errors * Fix lint error * Add linear_tree_learner.o * Simulate omp_get_max_threads if openmp is not available * Update PushOneData to also store raw data. * Cast size to int * Fix bug in ReshapeRaw * Speed up code with multithreading * Use OMP_NUM_THREADS * Speed up with multithreading * Update to use ArrayToString * Fix tests * Fix test * Fix bug introduced in merge * Minor updates * Update docs
-