1. 20 Jun, 2025 1 commit
  2. 19 Mar, 2024 1 commit
  3. 11 May, 2023 1 commit
  4. 10 Aug, 2022 1 commit
    • Scott Votaw's avatar
      feature: Add true streaming APIs to reduce client-side memory usage (#5299) · 0a5c5838
      Scott Votaw authored
      * Extract streaming to own PR
      
      * small merge fixes and cleanup
      
      * linting fixes
      
      * fix cast warning
      
      * Fix accidental deletion during branch transfer
      
      * responded to initial triage comments
      
      * Added more tests to use create-from-samples APIs
      
      * added mutex and adjusted nclasses logic
      
      * Fix thread-safety for pushing data to sparse bins through Push APIs
      
      * lint and doc fixes
      
      * Small SWIG fix
      
      * nit fix
      
      * Responded to StrikerRUS comments
      
      * fix breaking change after merge with master
      
      * Extract streaming to own PR
      
      * small merge fixes and cleanup
      
      * Fix accidental deletion during branch transfer
      
      * responded to initial triage comments
      
      * Added more tests to use create-from-samples APIs
      
      * Fix rstcheck call in ci
      
      * remove TODOs
      
      * Extract streaming to own PR
      
      * small merge fixes and cleanup
      
      * Fix accidental deletion during branch transfer
      
      * responded to initial triage comments
      
      * Added more tests to use create-from-samples APIs
      
      * Small SWIG fix
      
      * remove ci change
      
      * responded to shiyu1994 comments
      
      * responded to StrikerRUS comments
      
      * Fixes from StrikerRUS comments
      0a5c5838
  5. 30 Jun, 2021 1 commit
  6. 15 Apr, 2021 1 commit
  7. 28 Mar, 2021 1 commit
  8. 21 Mar, 2021 1 commit
    • Alberto Ferreira's avatar
      [SWIG] Add streaming data support + cpp tests (#3997) · 4ded1342
      Alberto Ferreira authored
      * [feature] Add ChunkedArray to SWIG
      
      * Add ChunkedArray
      * Add ChunkedArray_API_extensions.i
      * Add SWIG class wrappers
      
      * Address some review comments
      
      * Fix linting issues
      
      * Move test to tests/test_ChunkedArray_manually.cpp
      
      * Add test note
      
      * Move ChunkedArray to include/LightGBM/utils/
      
      * Declare more explicit types of ChunkedArray in the SWIG API.
      
      * Port ChunkedArray tests to googletest
      
      * Please C++ linter
      
      * Address StrikerRUS' review comments
      
      * Update SWIG doc & disable ChunkedArray<int64_t>
      
      * Use CHECK_EQ instead of assert
      
      * Change include order (linting)
      
      * Rename ChunkedArray -> chunked_array files
      
      * Change header guards
      
      * Address last comments from StrikerRUS
      4ded1342
  9. 05 Feb, 2021 1 commit
  10. 24 Nov, 2020 1 commit
  11. 07 Oct, 2020 1 commit
  12. 06 Aug, 2020 1 commit
  13. 05 Aug, 2020 1 commit
  14. 20 Jul, 2020 1 commit
  15. 15 Jul, 2020 2 commits
    • Alberto Ferreira's avatar
      Feat/optimize single prediction (#2992) · fc79b366
      Alberto Ferreira authored
      * [performance] Add Fast methods to C API for SingleRow Predictions
      
       * Add methods to C API to make single-row predictions faster:
      
         - LGBM_BoosterPredictForMatSingleRowFastInit (setup)
         - LGBM_BoosterPredictForMatSingleRowFast (predict)
         - LGBM_FastConfigFree (cleanup setup outputs)
      
      * Code syle cleanup
      
      * Fix lint errors
      
      * [performance] Revert FastConfig improvement to pass data at init
      
      This reduces optimization by 5% / 30% with this branch but makes it so it can be used for higher level wrappers in MMLSpark.
      And outside it as well.
      
      * [performance] Introduce Fast variants for SingleRow predictors.
      
      Although this already provides performance gains by itself for any
      callers, two new functions were added to Java's SWIG interfaces to
      exploit that AND the GetPrimitiveArrayCritical data fetches.
      
      * [tests/profiling] Profile Fast predict methods
      
      Build with -DBUILD_PROFILING_TESTS=ON and copy the default
      model trained on the Higgs dataset from the benchmarks repo
      
       https://github.com/guolinke/boosting_tree_benchmarks.git
      
      
      
      to LightGBM repo root and run the lightgbm_profile_* binaries.
      
      The single instance used is the first row from that dataset.
      
      * Update comment on CMakeLists.
      
      * Fix doxygen-introduced issue (#threads)
      
      * Fix conflicts due to new RowFunctionFromCSR signature in master
      
      * Change FastConfig ncol to int32_t.
      
      * Removed profiling folder
      
      * fix doxygen typo include/LightGBM/c_api.h
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * fix doxygen typo include/LightGBM/c_api.h
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * fix doxygen typo include/LightGBM/c_api.h
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Doxygen: change new docstrings to double back-quote
      Co-authored-by: default avataralberto.ferreira <alberto.ferreira@feedzai.com>
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      fc79b366
    • Guolin Ke's avatar
      feature importance type in saved model file (#3220) · 87d46489
      Guolin Ke authored
      
      
      * feature importance type in saved model file
      
      * fix nullptr
      
      * fixed formatting
      
      * fix python/R
      
      * Update src/c_api.cpp
      
      * Apply suggestions from code review
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * fix c_api test
      
      * fix swig
      
      * minor docs improvements and added defines for importance types
      Co-authored-by: default avatarStrikerRUS <nekit94-12@hotmail.com>
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      87d46489
  16. 19 Apr, 2020 1 commit
  17. 01 Apr, 2020 1 commit
  18. 20 Mar, 2020 1 commit
    • Alberto Ferreira's avatar
      Fix SWIG methods that return char** (#2850) · 91185c3a
      Alberto Ferreira authored
      
      
      * [swig] Fix SWIG methods that return char** with StringArray.
      
      + [new] Add StringArray class to manage and manipulate arrays of fixed-length strings:
      
        This class is now used to wrap any char** parameters, manage memory and
        manipulate the strings.
      
        Such class is defined at swig/StringArray.hpp and wrapped in StringArray.i.
      
      + [API+fix] Wrap LGBM_BoosterGetFeatureNames it resulted in segfault before:
      
        Added wrapper LGBM_BoosterGetFeatureNamesSWIG(BoosterHandle) that
        only receives the booster handle and figures how much memory to allocate
        for strings and returns a StringArray which can be easily converted to String[].
      
      + [API+safety] For consistency, LGBM_BoosterGetEvalNamesSWIG was wrapped as well:
      
        * Refactor to detect any kind of errors and removed all the parameters
          besides the BoosterHandle (much simpler API to use in Java).
        * No assumptions are made about the required string space necessary (128 before).
        * The amount of required string memory is computed internally
      
      + [safety] No possibility of undefined behaviour
      
        The two methods wrapped above now compute the necessary string storage space
        prior to allocation, as the low-level C API calls would crash the process
        irreversibly if they write more memory than which is passed to them.
      
      * Changes to C API and wrappers support char**
      
      To support the latest SWIG changes that enable proper char**
      return support that is safe, the C API was changed.
      
      The respecive wrappers in R and Python were changed too.
      
      * Cleanup indentation in new lightgbm_R.cpp code
      
      * Adress review code-style comments.
      
      * Update swig/StringArray.hpp
      Co-Authored-By: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Update python-package/lightgbm/basic.py
      Co-Authored-By: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Update src/lightgbm_R.cpp
      Co-Authored-By: default avatarNikita Titov <nekit94-08@mail.ru>
      Co-authored-by: default avataralberto.ferreira <alberto.ferreira@feedzai.com>
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      91185c3a
  19. 13 Nov, 2019 1 commit
  20. 26 Sep, 2019 1 commit
  21. 30 Aug, 2019 1 commit
  22. 25 Jul, 2019 1 commit
  23. 04 May, 2019 1 commit
  24. 29 Apr, 2019 1 commit
  25. 18 Mar, 2019 1 commit
    • Markus Cozowicz's avatar
      Added additional APIs to better support JNI on Spark (#2032) · beeb6e0f
      Markus Cozowicz authored
      * added API changes required for JNI performance optimizations (e.g. predict is 3-4x faster)
      
      * removed commented variables
      
      * removed commented header
      
      * renamed method to make it obvious it is created for Spark
      
      * fixed comment alignment
      
      * replaced GetPrimitiveArrayCritical with GetIntArrayElements for training. fixed dead-lock on databricks
      beeb6e0f
  26. 16 Mar, 2019 1 commit
  27. 25 Aug, 2018 1 commit
  28. 31 Jan, 2018 1 commit
    • Ilya Matiach's avatar
      Adding SWIG Java wrappers to LightGBM (#1223) · 6d58decf
      Ilya Matiach authored
      * 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
      6d58decf