- 17 Feb, 2021 2 commits
-
-
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>
-
Alex Ford authored
Approximately %80 of runtime when loading "low column count, high row count" DataFrames into Datasets is consumed in `np.fromiter`, called as part of the `Dataset.get_field` method. This is particularly pernicious hotspot, as unlike other ctypes-based methods this is a hot loop over a python iterator loop and causes significant GIL-contention in multi-threaded applications. Replace `np.fromiter` with a direct call to `np.ctypeslib.as_array`, which allows a single-shot `copy` of the underlying array. This reduces the load time of a ~35 million row categorical dataframe with 1 column from ~5 seconds to ~1 second, and allows multi-threaded execution.
-
- 16 Feb, 2021 11 commits
-
-
Nikita Titov authored
-
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
-
Zhuyi Xue authored
-
Zhuyi Xue authored
-
Zhuyi Xue authored
-
Zhuyi Xue authored
-
Zhuyi Xue authored
-
Zhuyi Xue authored
-
Zhuyi Xue authored
-
- 15 Feb, 2021 17 commits
-
-
Zhuyi Xue authored
-
Zhuyi Xue authored
-
Zhuyi Xue authored
-
Zhuyi Xue authored
-
Zhuyi Xue authored
-
Zhuyi Xue authored
-
Zhuyi Xue authored
-
Zhuyi Xue authored
-
Frank Fineis authored
-
Zhuyi Xue authored
-
Zhuyi Xue authored
-
Zhuyi Xue authored
-
Tara Jawahar authored
* minor mypy type errors fixed * fix some warnings from mypy * fix 3 mypy warnings * selectively ignored some mypy errors * minor mypy type errors fixed * minor mypy type errors fixed * minor mypy type errors fixed * added import * Update python-package/lightgbm/callback.py * Apply suggestions from code review * Apply suggestions from code review Co-authored-by:
James Lamb <jaylamb20@gmail.com> Co-authored-by:
James Lamb <jaylamb20@gmail.com>
-
Zhuyi Xue authored
-
Zhuyi Xue authored
-
Zhuyi Xue authored
-
Zhuyi Xue authored
-
- 14 Feb, 2021 4 commits
-
-
James Lamb authored
-
Zhuyi Xue authored
-
Nikita Titov authored
-
Philip Khor authored
-
- 13 Feb, 2021 3 commits
-
-
Belinda Trotta authored
* Update docs about linear tree and monotone constraints * Fix punctuation
-
Benjamin Sergeant authored
* openmp_wrapper.h stubs signature use __GOMP_NOTHROW Fix #3915. OpenMP stubs do not use the noexcept attibute which is present in the gcc version of openmp, and which trigger compilation errors as seen below. dmlc-core uses the same technique and macro. /usr/lib/gcc/x86_64-linux-gnu/9/include/omp.h:114:12: error: declaration of ‘int omp_get_thread_num() noexcept’ has a different exception specifier 114 | extern int omp_get_thread_num (void) __GOMP_NOTHROW; | ^~~~~~~~~~~~~~~~~~ ... xxx/include/LightGBM/utils/openmp_wrapper.h:81:14: note: from previous declaration ‘int omp_get_thread_num()’ 81 | inline int omp_get_thread_num() {return 0;} | ^~~~~~~~~~~~~~~~~~ * move __GOMP_NOTHROW definition in the no open mp stub conditional branch * Update include/LightGBM/utils/openmp_wrapper.h Yes make sense, just changed it Co-authored-by:James Lamb <jaylamb20@gmail.com> * add NOLINT macro to disable cpplint on a safe line of code Co-authored-by:
James Lamb <jaylamb20@gmail.com>
-
mjmckp authored
Fix access violation exception that can occur during invocation of loop lambda function when inner_start >= inner_end in 'For' template (#3936) * 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 access violation exception that can occur during invocation of loop lambda function when inner_start >= inner_end in 'For' template. In particular, this can occur in Tree::AddPredictionToScore on line 291 where the loop lambda function body (created by the PredictionFun macro) dereferences used_data_indices[start]. For reference, the particular case which triggered this exception in my case was: * start = 0 * end = 93,203 * n_block = 56 * min_block_size = 512 for which the BlockInfo method gave: * n_block = 56 * num_inner = 1,696 and so, for the case i=55 (i.e., the last case in the loop), we get * inner_start = start + num_inner * i = 93,280 which is greater than 'end' and hence triggers the exception. * Change formatting of proposed modification Co-authored-by:matthew-peacock <matthew.peacock@whiteoakam.com> Co-authored-by:
Guolin Ke <guolin.ke@outlook.com>
-
- 10 Feb, 2021 2 commits
-
-
James Lamb authored
-
Nikita Titov authored
* Update dask.py * Update sklearn.py
-
- 09 Feb, 2021 1 commit
-
-
James Lamb authored
-