* 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
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* Initial CUDA work
* redirect log to python console (#3090)
* redir log to python console
* fix pylint
* Apply suggestions from code review
* Update basic.py
* Apply suggestions from code review
Co-authored-by: Nikita Titov <nekit94-08@mail.ru>
* Update c_api.h
* Apply suggestions from code review
* Apply suggestions from code review
* super-minor: better wording
Co-authored-by: Nikita Titov <nekit94-08@mail.ru>
Co-authored-by: StrikerRUS <nekit94-12@hotmail.com>
* re-order includes (fixes#3132) (#3133)
* Revert "re-order includes (fixes#3132) (#3133)" (#3153)
This reverts commit 656d2676c2.
* Missing change from previous rebase
* Minor cleanup and removal of development scripts.
* Only set gpu_use_dp on by default for CUDA. Other minor change.
* Fix python lint indentation problem.
* More python lint issues.
* Big lint cleanup - more to come.
* Another large lint cleanup - more to come.
* Even more lint cleanup.
* Minor cleanup so less differences in code.
* Revert is_use_subset changes
* Another rebase from master to fix recent conflicts.
* More lint.
* Simple code cleanup - add & remove blank lines, revert unneccessary format changes, remove added dead code.
* Removed parameters added for CUDA and various bug fix.
* Yet more lint and unneccessary changes.
* Revert another change.
* Removal of unneccessary code.
* temporary appveyor.yml for building and testing
* Remove return value in ReSize
* Removal of unused variables.
* Code cleanup from reviewers suggestions.
* Removal of FIXME comments and unused defines.
* More reviewers comments cleanup.
* More reviewers comments cleanup.
* More reviewers comments cleanup.
* Fix config variables.
* Attempt to fix check-docs failure
* Update Paramster.rst for num_gpu
* Removing test appveyor.yml
* Add CUDA_RESOLVE_DEVICE_SYMBOLS to libraries to fix linking issue.
* Fixed handling of data elements less than 2K.
* More reviewers comments cleanup.
* Removal of TODO and fix printing of int64_t
* Add cuda change for CI testing and remove cuda from device_type in python.
* Missed one change form previous check-in
* Removal AdditionConfig and fix settings.
* Limit number of GPUs to one for now in CUDA.
* Update Parameters.rst for previous check-in
* Whitespace removal.
* Cleanup unused code.
* Changed uint/ushort/ulong to unsigned int/short/long to help Windows based CUDA compiler work.
* Lint change from previous check-in.
* Changes based on reviewers comments.
* More reviewer comment changes.
* Adding warning for is_sparse. Revert tmp_subset code. Only return FeatureGroupData if not is_multi_val_
* Fix so that CUDA code will compile even if you enable the SCORE_T_USE_DOUBLE define.
* Reviewer comment cleanup.
* Replace warning with Log message. Removal of some of the USE_CUDA. Fix typo and removal of pragma once.
* Remove PRINT debug for CUDA code.
* Allow to use of multiple GPUs for CUDA.
* More multi-GPUs enablement for CUDA.
* More code cleanup based on reviews comments.
* Update docs with latest config changes.
Co-authored-by: Gordon Fossum <fossum@us.ibm.com>
Co-authored-by: ChipKerchner <ckerchne@linux.vnet.ibm.com>
Co-authored-by: Guolin Ke <guolin.ke@outlook.com>
Co-authored-by: Nikita Titov <nekit94-08@mail.ru>
Co-authored-by: StrikerRUS <nekit94-12@hotmail.com>
Co-authored-by: James Lamb <jaylamb20@gmail.com>
* [R-package] started cutting over from custom R-to-C interface to R.h
* replaced LGBM_SE with SEXP
* fixed error about ocnflicting definitions of length
* got linking working
* more stuff
* eliminated R CMD CHECK note about printing
* switched from hard-coded include dir to the one from FindLibR.cmake
* cleaned up formatting in FindLibR.cmake
* commented-out everything in CI that does not touch R
* more changes
* trying to get better logs
* tried ignoring
* added error message to confirm a suspicion
* still trying to find R during R CMD CHECK
* restore full CI
* fixed comment
* Update R-package/src/cmake/modules/FindLibR.cmake
* changed strategy for finding LIBR_HOME on Windows
* Removed 32-bit Windows stuff in FindLibR.cmake
* Update R-package/src/cmake/modules/FindLibR.cmake
* Update CMakeLists.txt
Co-Authored-By: Nikita Titov <nekit94-08@mail.ru>
* Update CMakeLists.txt
Co-Authored-By: Nikita Titov <nekit94-08@mail.ru>
* Update R-package/src/cmake/modules/FindLibR.cmake
Co-Authored-By: Nikita Titov <nekit94-08@mail.ru>
* removed some duplication in cmake scripts
* Update R-package/src/cmake/modules/FindLibR.cmake
Co-Authored-By: Nikita Titov <nekit94-08@mail.ru>
* Update R-package/src/cmake/modules/FindLibR.cmake
Co-Authored-By: Nikita Titov <nekit94-08@mail.ru>
* Update R-package/src/cmake/modules/FindLibR.cmake
Co-Authored-By: Nikita Titov <nekit94-08@mail.ru>
* Update R-package/src/cmake/modules/FindLibR.cmake
Co-Authored-By: Nikita Titov <nekit94-08@mail.ru>
* Update R-package/src/cmake/modules/FindLibR.cmake
Co-Authored-By: Nikita Titov <nekit94-08@mail.ru>
* Update R-package/src/cmake/modules/FindLibR.cmake
Co-Authored-By: Nikita Titov <nekit94-08@mail.ru>
* added LIBR_CORE_LIBRARY back
* small fixes to CMakeLists
* simplified FindLibR.cmake
* some fixes for windows
* Apply suggestions from code review
Co-Authored-By: Nikita Titov <nekit94-08@mail.ru>
* allowed for directly passing LIBR_EXECUTABLE to FindLibR.cmake
* reorganized FindLibR.cmake to catch more cases
* clean up inconsistencies in R calls in FindLibR.cmake
* Update R-package/src/cmake/modules/FindLibR.cmake
Co-Authored-By: Nikita Titov <nekit94-08@mail.ru>
* removed unnecessary log messages
* removed unnecessary unset() call
Co-authored-by: Nikita Titov <nekit94-08@mail.ru>
* [R-package] Introduced define LGB_BUILD_R to control compilation of lib_lightgbm for the R package
* fixed comment
* switched to cmake options
* fixed typo
* various minor style, docs and cpplint improvements
* fixed typo in warning
* fix recently added cpplint errors
* move note for params upper in description for consistency
* updated installation guide
* updated Python installation guide
* added note about opencl path to Windows section
* added space before path in message
* minor correction for option description in Python installation guide
* added clang test
* hotfix
* downgrade required AppleCLang version
* fixed CMakeLists
* prevent case when CMake is downgraded by libomp
* fixed Clang test
* moved MSVC version check to the better place
* compile with Clang at Travis on Linux
* clear .travis.yml
* fixed indents
* added support of MPI test at Travis with macOS
* added FAQ entry about OpenMP library error
* updated installation guide
* moved APPLE_OUTPUT_DYLIB to other options
* fix check-docs test: ignore old url from error message
* added example of symlink command in FAQ
* fixed markdown
* capitalized heading
* updated Python installation guide
* changed mode in message command
* added notes about MinGW efficiency problems
* updated R-package installation guide
* use quotes for gcc version
* removed excess 'Note' phrase
* added missed description of plot_example in python_guide folder and fixed consistency for packages naming
* more reliable OS detection
* fixed grammar
* made pylint happy
* Read and write datsets from hdfs.
* Only enabled when cmake is run with -DUSE_HDFS:BOOL=TRUE
* Introduces VirtualFile(Reader|Writer) to asbtract VFS differences
* Adding Java wrappers to LightGBM by updating CMakeLists and adding SWIG file
* Set SWIG generation to OFF by default
* Added -package option to SWIG_FLAGS
* Fixed jar structure to have class files in proper location
* removed link with OpenMP flags
* remove protobuf
* add version number
* remove pmml script
* use float for split gain
* fix warnings
* refine the read model logic of gbdt
* fix compile error
* improve decode speed
* fix some bugs
* fix double accuracy problem
* fix bug
* multi-thread save model
* speed up save model to string
* parallel save/load model
* fix some warnings.
* fix warnings.
* fix a bug
* remove debug output
* fix doc
* fix max_bin warning in tests.
* fix max_bin warning
* fix pylint
* clean code for stringToArray
* clean code for TToString
* remove max_bin
* replace "class" with typename
* fixed Python-API references
* moved Features section to ReadTheDocs
* fixed index of ReadTheDocs
* moved Experiments section to ReadTheDocs
* fixed capital letter
* fixed citing
* moved Parallel Learning section to ReadTheDocs
* fixed markdown
* fixed Python-API
* fixed link to Quick-Start
* fixed gpu docker README
* moved Installation Guide from wiki to ReadTheDocs
* removed references to wiki
* fixed capital letters in headings
* hotfixes
* fixed non-Unicode symbols and reference to Python API
* fixed citing references
* fixed links in .md files
* fixed links in .rst files
* store images locally in the repo
* fixed missed word
* fixed indent in Experiments.rst
* fixed 'Duplicate implicit target name' message which is successfully
resolved by adding anchors
* less verbose
* prevented maito: ref creation
* fixed indents
* fixed 404
* fixed 403
* fixed 301
* fixed fake anchors
* fixed file extentions
* fixed Sphinx warnings
* added StrikerRUS profile link to FAQ
* added henry0312 profile link to FAQ
* add R's library file to vs project and cmake.
* support using dll built by vs.
* better search for the library file.
* remove mingw related doc .
* update document.
* Let R handle the library compile.
* try fix build from github.
* Update README.md
* cleaner build.
* fix the install problem in linux.
* Update README.md
* Fix warnings when compiled with -pedantic
* add -DBOOST_ALL_NO_LIB for windows build
* fix some more MSVC warnings
* Break OpenCL string literal to smaller pieces to avoid error C2026 of MSVC
The string was longer than the limit of 16380 single-byte characters.
This affects Visual Studio 2005 - 2015. Untested on VS 2017.
* Revert "python-package: support valid_names in scikit-learn API (#420)"
This reverts commit de39dbcf3d.
* Revert "faster histogram sum up (#418)"
This reverts commit 98c7c2a35a.
* some refactor.
* two stage sum up to reduce sum up error.
* add more two-stage sumup.
* some refactor.
* add alignment.
* change name to aligned_allocator.
* remove some useless sumup.
* fix a warning.
* add -march=native .
* remove the padding of gradients.
* no alignment.
* fix test.
* change KNumSumupGroup to 32768.
* change gcc flags.
* fix the size of vector cnt_per_class
* put Boost.Compute includes at the beginning
We want to put the submodule Boost.Compute at the beginning of compiler search
paths, because the submodule usually contains upstream bug fixes that have not
been included in the stable Boost releases installed on the host OS.
* add dummy gpu solver code
* initial GPU code
* fix crash bug
* first working version
* use asynchronous copy
* use a better kernel for root
* parallel read histogram
* sparse features now works, but no acceleration, compute on CPU
* compute sparse feature on CPU simultaneously
* fix big bug; add gpu selection; add kernel selection
* better debugging
* clean up
* add feature scatter
* Add sparse_threshold control
* fix a bug in feature scatter
* clean up debug
* temporarily add OpenCL kernels for k=64,256
* fix up CMakeList and definition USE_GPU
* add OpenCL kernels as string literals
* Add boost.compute as a submodule
* add boost dependency into CMakeList
* fix opencl pragma
* use pinned memory for histogram
* use pinned buffer for gradients and hessians
* better debugging message
* add double precision support on GPU
* fix boost version in CMakeList
* Add a README
* reconstruct GPU initialization code for ResetTrainingData
* move data to GPU in parallel
* fix a bug during feature copy
* update gpu kernels
* update gpu code
* initial port to LightGBM v2
* speedup GPU data loading process
* Add 4-bit bin support to GPU
* re-add sparse_threshold parameter
* remove kMaxNumWorkgroups and allows an unlimited number of features
* add feature mask support for skipping unused features
* enable kernel cache
* use GPU kernels withoug feature masks when all features are used
* REAdme.
* REAdme.
* update README
* fix typos (#349)
* change compile to gcc on Apple as default
* clean vscode related file
* refine api of constructing from sampling data.
* fix bug in the last commit.
* more efficient algorithm to sample k from n.
* fix bug in filter bin
* change to boost from average output.
* fix tests.
* only stop training when all classes are finshed in multi-class.
* limit the max tree output. change hessian in multi-class objective.
* robust tree model loading.
* fix test.
* convert the probabilities to raw score in boost_from_average of classification.
* fix the average label for binary classification.
* Add boost_from_average to docs (#354)
* don't use "ConvertToRawScore" for self-defined objective function.
* boost_from_average seems doesn't work well in binary classification. remove it.
* For a better jump link (#355)
* Update Python-API.md
* for a better jump in page
A space is needed between `#` and the headers content according to Github's markdown format [guideline](https://guides.github.com/features/mastering-markdown/)
After adding the spaces, we can jump to the exact position in page by click the link.
* fixed something mentioned by @wxchan
* Update Python-API.md
* add FitByExistingTree.
* adapt GPU tree learner for FitByExistingTree
* avoid NaN output.
* update boost.compute
* fix typos (#361)
* fix broken links (#359)
* update README
* disable GPU acceleration by default
* fix image url
* cleanup debug macro
* remove old README
* do not save sparse_threshold_ in FeatureGroup
* add details for new GPU settings
* ignore submodule when doing pep8 check
* allocate workspace for at least one thread during builing Feature4
* move sparse_threshold to class Dataset
* remove duplicated code in GPUTreeLearner::Split
* Remove duplicated code in FindBestThresholds and BeforeFindBestSplit
* do not rebuild ordered gradients and hessians for sparse features
* support feature groups in GPUTreeLearner
* Initial parallel learners with GPU support
* add option device, cleanup code
* clean up FindBestThresholds; add some omp parallel
* constant hessian optimization for GPU
* Fix GPUTreeLearner crash when there is zero feature
* use np.testing.assert_almost_equal() to compare lists of floats in tests
* travis for GPU