Releases: dmlc/treelite
Releases · dmlc/treelite
2.1.0 Release
The new release incorporates the following changes:
- Work around a compiler bug in GCC 7 (#302)
- Fix errors reported by Python linter (#312)
- [CI] Upgrade to CentOS 7 + GCC 8 (#313)
- Improve vector leaf performance (#311)
- Handle the case where left_categories={} (#303)
- Use JSON serializer to enable model introspection (#296)
- Fix NativeLibLoader on Java 9+ (#315)
2.0.0 Release
The new release incorporates the following major changes:
- Remove dmlc-core dependency (#285, #287, #288, #289, #290, #291, #292, #293). #284 explains why we are jumping to a new major version.
- Rename CHECK and LOG macros to avoid name collisions (#295)
- Suppress warning about build time when parallel_comp is specified (#297)
- Handle LightGBM models with '=' in feature names (#298)
- Remove OpenMP dependency (#300)
1.3.0 release
This version incorporates one new major feature:
- [EXPERIMENTAL] Add General Tree Inference Library (GTIL), reference inference backend (#274). GTIL is useful in cases where it is infeasible to build the tree models as native shared libs.
It also contains the following bug fixes:
- Hotfix for serializer (#273)
1.2.0 release
Release 0.93
[CI] Use mainline branch
Release 0.92
Release 0.92
Treelite 0.32
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 shellszsh
andfish
(#18)
New feature
- (Experimental) Export model as XGBoost model file, as per request in #14.
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