Skip to content

Releases: dmlc/treelite

2.1.0 Release

20 Sep 21:43
e524893
Compare
Choose a tag to compare

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

16 Jul 18:38
b117da5
Compare
Choose a tag to compare

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

12 May 22:21
ae5436c
Compare
Choose a tag to compare

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

05 May 07:57
fdf09b7
Compare
Choose a tag to compare

This version incorporates two major new features:

  • Faster model import for sklearn tree models (#264)
  • Binary serializer to a file stream (#270)

Release 0.93

27 Aug 22:10
Compare
Choose a tag to compare
[CI] Use mainline branch

Release 0.92

21 Jun 08:39
Compare
Choose a tag to compare
Release 0.92

Treelite 0.32

20 Apr 20:44
Compare
Choose a tag to compare

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.

Treelite 0.31

30 Mar 11:17
Compare
Choose a tag to compare
  • 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

24 Mar 06:00
Compare
Choose a tag to compare

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.

Treelite 0.21

08 Mar 21:47
Compare
Choose a tag to compare

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