- 17 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 for CreatePredictor function: for VS2017 in Debug build, the previous version would end up giving an uninitialised prediction function that would throw access violation exceptions when invoked. Co-authored-by:
matthew-peacock <matthew.peacock@whiteoakam.com> Co-authored-by:
Guolin Ke <guolin.ke@outlook.com>
-
- 14 Feb, 2021 1 commit
-
-
James Lamb authored
-
- 09 Feb, 2021 1 commit
-
-
Nikita Titov authored
* remove unused private field * mask Train as override * remove unused private field
-
- 06 Feb, 2021 1 commit
-
-
James Lamb authored
-
- 03 Feb, 2021 1 commit
-
-
Chen Yufei authored
* Add new task type: "save_binary". * Document for task "save_binary".
-
- 28 Jan, 2021 1 commit
-
-
Nikita Titov authored
* Update test_utilities.py * Update cuda.yml * Update test_utilities.py * Update cuda_tree_learner.cpp * Update cuda.yml
-
- 26 Jan, 2021 1 commit
-
-
Wenjun Si authored
-
- 25 Jan, 2021 1 commit
-
-
shiyu1994 authored
-
- 23 Jan, 2021 1 commit
-
-
Chip Kerchner authored
-
- 21 Jan, 2021 1 commit
-
-
Alberto Ferreira authored
By using a unique lock instead of the shared lock the timings are very similar, but predictions are correct. Even so, by designing a small C++ benchmark with a very simple LGBM model,more threads on a simple model are slower than the single-thread case. This is probably due to very small work units, the lock contention overhead increases. We should in the future benchmark with more complex models to see if supporting threading on these calls is worth it in performance gains. If not, then we could choose to not to provide thread-safety and remove the locks altogether for maximal throughput. See https://github.com/microsoft/LightGBM/issues/3751 for timings. See gist for benchmark code: https://gist.github.com/AlbertoEAF/5972db15a27c294bab65b97e1bc4c315
-
- 18 Jan, 2021 2 commits
-
-
Alberto Ferreira authored
* Cleanup predictor * Cleanup SingleRowPredictor * Update src/application/predictor.hpp Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * Update src/application/predictor.hpp Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * Update src/application/predictor.hpp Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> Co-authored-by:
Nikita Titov <nekit94-08@mail.ru>
-
James Lamb authored
* [R-package] enable use of trees with linear models at leaves (fixes #3319) * remove problematic pragmas * fix tests * try to fix build scripts * try fixing pragma check * more pragma checks * ok fix pragma stuff for real * empty commit * regenerate documentation * try skipping test * uncomment CI * add note on missing value types for R * add tests on saving and re-loading booster
-
- 15 Jan, 2021 1 commit
-
-
Nikita Titov authored
* Update cuda_tree_learner.cpp * Update cuda_tree_learner.h * Update cuda.yml
-
- 11 Jan, 2021 2 commits
-
-
Belinda Trotta authored
-
shiyu1994 authored
-
- 09 Jan, 2021 1 commit
-
-
h-vetinari authored
-
- 07 Jan, 2021 3 commits
-
-
htgeis authored
Co-authored-by:jingwei.su <jingwei.su@hulu.com>
-
shiyu1994 authored
-
Belinda Trotta authored
* Fix compiler warnings caused by implicit type conversion * Fix more warnings * Fix more warnings
-
- 05 Jan, 2021 1 commit
-
-
CharlesAuguste authored
* Fix monotone constraint bug where split does not fulfill constraints. * Fix indent.
-
- 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
-
- 29 Dec, 2020 1 commit
-
-
James Lamb authored
* [python-package] remove unused Eigen files (fixes #3684) * more changes * add EIGEN_MPL2_ONLY in VS solution file * fix VS project * remove EIGEN_MPL2_ONLY define in linear_tree_learner Co-authored-by:Nikita Titov <nekit94-12@hotmail.com>
-
- 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
-
- 11 Dec, 2020 1 commit
-
-
James Lamb authored
-
- 08 Dec, 2020 1 commit
-
-
Alberto Ferreira authored
* Fix LightGBM models locale sensitivity and improve R/W performance. When Java is used, the default C++ locale is broken. This is true for Java providers that use the C API or even Python models that require JEP. This patch solves that issue making the model reads/writes insensitive to such settings. To achieve it, within the model read/write codebase: - C++ streams are imbued with the classic locale - Calls to functions that are dependent on the locale are replaced - The default locale is not changed! This approach means: - The user's locale is never tampered with, avoiding issues such as https://github.com/microsoft/LightGBM/issues/2979 with the previous approach https://github.com/microsoft/LightGBM/pull/2891 - Datasets can still be read according the user's locale - The model file has a single format independent of locale Changes: - Add CommonC namespace which provides faster locale-independent versions of Common's methods - Model code makes conversions through CommonC - Cleanup unused Common methods - Performance improvements. Use fast libraries for locale-agnostic conversion: - value->string: https://github.com/fmtlib/fmt - string->double: https://github.com/lemire/fast_double_parser (10x faster double parsing according to their benchmark) Bugfixes: - https://github.com/microsoft/LightGBM/issues/2500 - https://github.com/microsoft/LightGBM/issues/2890 - https://github.com/ninia/jep/issues/205 (as it is related to LGBM as well) * Align CommonC namespace * Add new external_libs/ to python setup * Try fast_double_parser fix #1 Testing commit e09e5aad828bcb16bea7ed0ed8322e019112fdbe If it works it should fix more LGBM builds * CMake: Attempt to link fmt without explicit PUBLIC tag * Exclude external_libs from linting * Add exernal_libs to MANIFEST.in * Set dynamic linking option for fmt. * linting issues * Try to fix lint includes * Try to pass fPIC with static fmt lib * Try CMake P_I_C option with fmt library * [R-package] Add CMake support for R and CRAN * Cleanup CMakeLists * Try fmt hack to remove stdout * Switch to header-only mode * Add PRIVATE argument to target_link_libraries * use fmt in header-only mode * Remove CMakeLists comment * Change OpenMP to PUBLIC linking in Mac * Update fmt submodule to 7.1.2 * Use fmt in header-only-mode * Remove fmt from CMakeLists.txt * Upgrade fast_double_parser to v0.2.0 * Revert "Add PRIVATE argument to target_link_libraries" This reverts commit 3dd45dde7b92531b2530ab54522bb843c56227a7. * Address James Lamb's comments * Update R-package/.Rbuildignore Co-authored-by:James Lamb <jaylamb20@gmail.com> * Upgrade to fast_double_parser v0.3.0 - Solaris support * Use legacy code only in Solaris * Fix lint issues * Fix comment * Address StrikerRUS's comments (solaris ifdef). * Change header guards Co-authored-by:
James Lamb <jaylamb20@gmail.com>
-
- 07 Dec, 2020 1 commit
-
-
Nikita Titov authored
-
- 05 Dec, 2020 1 commit
-
-
Chen Yufei authored
* Check max_bin, etc. match config when using binary. * Check max_bin_by_feature, bin_construct_sample_cnt matching config.
-
- 24 Nov, 2020 2 commits
-
-
Alberto Ferreira authored
* Refactor c_api.cpp with template code * Further cleanup * Fix whitespace for linter
-
shiyu1994 authored
Fix num_total_bin_ and bin_offsets_ of FeatureGroup if a dense multi val feature group with non zero most freq bin is the first feature group of the dataset.
-
- 23 Nov, 2020 2 commits
- 21 Nov, 2020 1 commit
-
-
James Lamb authored
* [R-package] Remove CLI-only objects * more guards * more guards * variable not string * simplify fix * revert build_r.R changes * move define of global_timer Co-authored-by:Nikita Titov <nekit94-08@mail.ru>
-
- 14 Nov, 2020 1 commit
-
-
Guolin Ke authored
-
- 13 Nov, 2020 1 commit
-
-
shiyu1994 authored
* store without offset in multi_val_dense_bin * fix offset bug * add comment for offset * add comment for bin type selection * faster operations for offset * keep most freq bin in histogram for multi val dense * use original feature iterators * consider 9 cases (3 x 3) for multi val bin construction * fix dense bin setting * fix bin data in multi val group * fix offset of the first feature histogram * use float hist buf * avx in histogram construction * use avx for hist construction without prefetch * vectorize bin extraction * use only 128 vec * use avx2 * use vectorization for sparse row wise * add bit size for multi val dense bin * float with no vectorization * change multithreading strategy to dynamic * remove intrinsic header * fix dense multi val col copy * remove bit size * use large enough block size when the bin number is large * calc min block size by sparsity * rescale gradients * rollback gradients scaling * single precision histogram buffer as an option * add float hist buffer with thread buffer * fix setting zero in hist data * fix hist begin pointer in tree learners * remove debug logs * remove omp simd * update Makevars of R-package * fix feature group binary storing * two row wise for double hist buffer * add subfeature for two row wise * remove useless code and fix two row wise * refactor code * grouping the dense feature groups can get sparse multi val bin * clean format problems * one thread for two blocks in sep row wise * use ordered gradients for sep row wise * fix grad ptr * ordered grad with combined block for sep row wise * fix block threading * use the same min block size * rollback share min block size * remove logs * Update src/io/dataset.cpp Co-authored-by:
Guolin Ke <guolin.ke@outlook.com> * fix parameter description * remove sep_row_wise * remove check codes * add check for empty multi val bin * fix lint error * rollback changes in config.h * Apply suggestions from code review Co-authored-by:
Ubuntu <shiyu@gbdt-04.ren3kv4wanvufliwrpy4k03lsf.xx.internal.cloudapp.net> Co-authored-by:
Guolin Ke <guolin.ke@outlook.com>
-
- 10 Nov, 2020 1 commit
-
-
Guolin Ke authored
-
- 08 Nov, 2020 1 commit
-
-
Alberto Ferreira authored
* Fix #2898: Clearer warning message (2^max_depth > num_leaves). * Update src/io/config.cpp Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * Update src/io/config.cpp Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> Co-authored-by:
Nikita Titov <nekit94-08@mail.ru>
-
- 07 Nov, 2020 1 commit
-
-
Guolin Ke authored
Co-authored-by:StrikerRUS <nekit94-12@hotmail.com>
-
- 06 Nov, 2020 1 commit
-
-
Guolin Ke authored
* better document for bin_construct_sample_cnt * add warnings Co-authored-by:StrikerRUS <nekit94-12@hotmail.com>
-
- 01 Nov, 2020 1 commit
-
-
Guolin Ke authored
* implement * fix compilation * Update config.cpp * unify wordings Co-authored-by:StrikerRUS <nekit94-12@hotmail.com>
-