- 29 May, 2022 1 commit
-
-
Nikita Titov authored
* Update tree.cpp * Update common.h * Update common.h
-
- 10 May, 2022 1 commit
-
-
Nikita Titov authored
* Update dataset_loader.cpp * Update gbdt.h * Update regression_objective.hpp * Update linker_topo.cpp * Update xentropy_objective.hpp * Update regression_objective.hpp * investigate inf test failure * avoid overflow in regression objective * remove `test_inf_handle` test Co-authored-by:Guolin Ke <guolin.ke@outlook.com>
-
- 01 May, 2022 2 commits
-
-
Lipson authored
-
Nikita Titov authored
* Update dataset_loader.cpp * Update config.cpp * Update application.cpp * Update linkers_socket.cpp
-
- 26 Apr, 2022 1 commit
-
-
shiyu1994 authored
-
- 13 Apr, 2022 1 commit
-
-
shiyu1994 authored
-
- 30 Mar, 2022 1 commit
-
-
shiyu1994 authored
* fix cuda exp with dense row wise * disable usage of multi val group in cuda exp
-
- 27 Mar, 2022 1 commit
-
-
shiyu1994 authored
* log warnings when number of bins of categorical features exceeds the configured maximum number of bins * log only one warning information for all categorical features * Add #include <memory> for unique_ptr * remove useless param description
-
- 26 Mar, 2022 1 commit
-
-
shiyu1994 authored
-
- 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>
-
- 22 Mar, 2022 1 commit
-
-
James Lamb authored
* clarify no-meaningful-features warning in Dataset construction (fixes #5081) * update tests
-
- 17 Feb, 2022 1 commit
-
-
chjinche authored
-
- 23 Dec, 2021 1 commit
-
-
xuchuanyin authored
Sample data is useless after BinMapper is constructed, but the corresponding memory is still there before feature extraction is finished.
-
- 03 Dec, 2021 1 commit
-
-
Nikita Titov authored
* add C API function that returns all param names with aliases * add C API function that returns all param names with aliases * add R code * test R code * remove debug CI * fix R lint * refactor * run CI * fix R * fix * revert CI checks * revert changes in docs * Try to make function `const` Co-authored-by:
James Lamb <jaylamb20@gmail.com> * add `const` in cpp file * address review comments and sync with `master` Co-authored-by:
James Lamb <jaylamb20@gmail.com>
-
- 16 Nov, 2021 1 commit
-
-
chjinche authored
* add customized parser support * fix typo of parser_config_file description * make delimiter as parameter of JoinedLines
-
- 11 Nov, 2021 1 commit
-
-
Michael Mahoney authored
* Add 'nrounds' as an alias for 'num_iterations' * Improve tests * Compare against nrounds directly * Fix whitespace lints
-
- 29 Oct, 2021 1 commit
-
-
Nikita Titov authored
Remove checks for label when loading dataset from binary file because label is ignored in that case (#4737)
-
- 28 Oct, 2021 1 commit
-
-
Nikita Titov authored
* Update dataset_loader.cpp * Update dataset_loader.cpp * Update dataset_loader.cpp
-
- 27 Oct, 2021 1 commit
-
-
Nikita Titov authored
-
- 25 Oct, 2021 1 commit
-
-
Zhiyuan He authored
Co-authored-by:hzy46 <email@example.com>
-
- 20 Oct, 2021 1 commit
-
-
david-cortes authored
* don't compare std::function to nullptr ref #4633 * Update dataset_loader.h
-
- 13 Oct, 2021 1 commit
-
-
Nikita Titov authored
-
- 05 Oct, 2021 2 commits
-
-
Nikita Titov authored
-
James Lamb authored
Co-authored-by:Nikita Titov <nekit94-12@hotmail.com>
-
- 25 Aug, 2021 1 commit
-
-
James Lamb authored
[docs] Clarify the fact that predict() on a file does not support saved Datasets (fixes #4034) (#4545) * documentation changes * add list of supported formats to error message * add unit tests * Apply suggestions from code review Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * update per review comments * make references consistent Co-authored-by:
Nikita Titov <nekit94-08@mail.ru>
-
- 22 Aug, 2021 1 commit
-
-
James Lamb authored
* factor out .size() checks in GetDataType() * Update src/io/parser.cpp Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> Co-authored-by:
Nikita Titov <nekit94-08@mail.ru>
-
- 26 Jun, 2021 1 commit
-
-
Nikita Titov authored
-
- 03 Jun, 2021 2 commits
-
-
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>
-
shiyu1994 authored
-
- 10 May, 2021 1 commit
-
-
James Lamb authored
-
- 07 May, 2021 1 commit
-
-
Chen Yufei authored
* New build option: USE_PRECISE_TEXT_PARSER. Use fast_double_parser for text file parsing. For each number, fallback to strtod in case of parse failure. * Add benchmark for CSVParser with Atof and AtofPrecise. * Fix lint complaint. * Fix typo in open result error message. * Revert "Fix lint complaint." This reverts commit 92ab0b6bce9f17d7be9eaeb20f19d4a0a36f0387. * Revert "Add benchmark for CSVParser with Atof and AtofPrecise." This reverts commit 4f8639abd06c679d4382eb715a1793afd94df3d2. * Use AtofPrecise in Common::__StringToTHelper. * [option] precise_float_parser: precise float number parsing for text input. * Remove USE_PRECISE_TEXT_PARSER compile option. * test: add test for Common::AtofPrecise. * test: remove ChunkedArrayTest with 0 length. This triggers Log::Fatal which aborts the test program. * fix lint, add copyright. * Revert "test: remove ChunkedArrayTest with 0 length." This reverts commit 346c76affe9e78b6ca2738c4a56dbb9c00f31102. * Use LightGBM::Common::Sign * save precise_float_parser in model file. * Fix error checking in AtofPrecise. Add more test cases. * Remove test case that can't pass under macOS. * Apply suggestions from code review 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>
-
- 27 Apr, 2021 1 commit
-
-
Chen Yufei authored
-
- 23 Apr, 2021 1 commit
-
-
Nikita Titov authored
-
- 15 Apr, 2021 1 commit
-
-
Chen Yufei authored
-
- 17 Mar, 2021 1 commit
-
-
ashok-ponnuswami-msft authored
* Add check to prevent out of index lookup in the position discount table. Add debug logging to report number of queries found in the data. * Change debug logging location so that we can print the data file name as well. * Revert "Change debug logging location so that we can print the data file name as well." This reverts commit 3981b34bd6e0530f89c4733e78e6b6603bf50d48. * Add data file name to debug logging. * Move log line to a place where it is output even when query IDs are read from a separate file. * Also add the out-of-range check to rank metrics. * Perform check after number of queries is initialized. * Update
-
- 12 Mar, 2021 1 commit
-
-
shiyu1994 authored
-
- 21 Feb, 2021 1 commit
-
-
mjmckp authored
* Fix index out-of-range exception generated by BaggingHelper on small datasets. Prior to this change, the line "score_t threshold = tmp_gradients[top_k - 1];" would generate an exception, since tmp_gradients would be empty when the cnt input value to the function is zero. * Update goss.hpp * Update goss.hpp * Add API method LGBM_BoosterPredictForMats which runs prediction on a data set given as of array of pointers to rows (as opposed to existing method LGBM_BoosterPredictForMat which requires data given as contiguous array) * Fix incorrect upstream merge * Add link to LightGBM.NET * Fix indenting to 2 spaces * Dummy edit to trigger CI * Dummy edit to trigger CI * remove duplicate functions from merge * Fix evalution of linear trees with a single leaf. Note that trees without linear models at the leaf always handle num_leaves = 1 as a special case and directly output the leaf value. Linear trees were missing this special case handling, and hence would have the following issues: * Calling Tree::Predict or Tree::PredictByMap would cause an access violation exception attempting to access the first value of the empty split_feature_ array in GetLeaf. * PredictionFunLinear would either cause an access violation or go into an infinite loop when attempting to do the equivalent of GetLeaf. Note also that PredictionFun does not need the same changes as PredictionFunLinear, since both are only called by Tree::AddPredictionToScore, which has a special case for (!is_linear_ && num_leaves_ <= 1) that precludes calling PredictionFun. Co-authored-by:
matthew-peacock <matthew.peacock@whiteoakam.com> Co-authored-by:
Guolin Ke <guolin.ke@outlook.com>
-
- 19 Feb, 2021 2 commits
-
-
mjmckp authored
Use high precision conversion from double to string in Tree::ToString() for new linear tree members (#3938) * Fix index out-of-range exception generated by BaggingHelper on small datasets. Prior to this change, the line "score_t threshold = tmp_gradients[top_k - 1];" would generate an exception, since tmp_gradients would be empty when the cnt input value to the function is zero. * Update goss.hpp * Update goss.hpp * Add API method LGBM_BoosterPredictForMats which runs prediction on a data set given as of array of pointers to rows (as opposed to existing method LGBM_BoosterPredictForMat which requires data given as contiguous array) * Fix incorrect upstream merge * Add link to LightGBM.NET * Fix indenting to 2 spaces * Dummy edit to trigger CI * Dummy edit to trigger CI * remove duplicate functions from merge * In Tree::ToString() method, print double values for linear tree models with high precision, so that the tree may be accurately reproduced elsewhere (LightGBM.Net in particular) * Need to use more precise StringToArray instead of StringToArrayFast when parsing double valued arrays for linear trees, to ensure models round-trip via string or file correctly. Co-authored-by:
matthew-peacock <matthew.peacock@whiteoakam.com> Co-authored-by:
Guolin Ke <guolin.ke@outlook.com>
-
James Lamb authored
* [docs] Change some 'parallel learning' references to 'distributed learning' * found a few more * one more reference
-