Releases: dmlc/treelite
Releases · dmlc/treelite
Treelite 0.31
- 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
Treelite 0.30
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()
orcompile()
again.
Treelite 0.21
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
Treelite 0.2
A few minor fixes have been made since 0.1rc1 release.
Why 0.2 now? For some unknown reason, PyPI isn't letting me upload wheels for version 0.1, claiming that "files already exist."
Treelite 0.1 release candidate
We are pleased to announce the first release.