Skip to content

Latest commit

 

History

History
64 lines (53 loc) · 2.29 KB

NEWS.md

File metadata and controls

64 lines (53 loc) · 2.29 KB

Treelite Release Notes

0.32 (04/20/2018)

Usability improvements

  • Add __version__ attribute (#17)
  • Shape results appropriately for multiclass classification (#16)
  • Add default LOG handler, to make C API easier to use (#19)
  • Allow batches smaller than nthread

Bug fixes

  • Python 2.7 compatibility fix (#14)
  • handle categorical splits with empty left_categories
  • Fix create_shared() to be compatible with shells zsh and fish (#18)

New feature

  • (Experimental) Export model as XGBoost model file, as per request in #14.

0.31 (03/30/2018)

  • Implement a custom thread pool to improve prediction performance
    • Amortize thread launch cost
    • Pin down threads to physical cores and prevent migration
  • Accommodate infinite thresholds in LightGBM models

0.30 (03/23/2018)

Major re-factoring of the backend code

  • New code generator, based on Abstract Syntax Trees (AST)
    • Build AST first
    • Iteratively transform AST
    • Finally convert AST into C/JAVA program
  • Improved abstraction and modularity (no more spaghetti code!)
    • It's now much easier to "edit" tree prediction logic: you'd just need to operate on a tree graph. Re-factoring was a worthwhile investment for future research. For instance, we could create a new node type in AST representing an AVX operation. A group of conditional nodes can be converted into the AVX node with equivalent semantics.
  • Support for Java: see example at https://github.com/hcho3/treelite-java-example

BREAKING CHANGES

  • Prediction library generated by previous versions are NOT compatible with the current version. You will have to run export_lib() or compile() again.

0.21 (03/08/2018)

New features:

  • Now categorical features with more than 64 categories are supported.
  • It is now possible to specify variants of GCC and Clang for export_lib; gcc-5, gcc-7, arm-linux-gnueabi-gcc, and so forth.

Bug fixes:

  • Fix segmentation fault when parallel_comp is set to a high value

0.2 (02/12/2018)

A few minor fixes:

  • Disable Link-Time Optimization (LTO) by default, to decrease compilation time
  • Use /bin/sh when the environment variable SHELL is not set
  • Enable relative path in predictor constructor
  • Increase precision for floating-point values

0.1rc1 (11/15/2017)

  • Initial release