Code Monkey home page Code Monkey logo

Comments (3)

Craigacp avatar Craigacp commented on May 22, 2024

We discuss our compatibility guidance in the FAQ. Basically we guarantee that serialized models will be upwards compatible within the major version (e.g. a model trained in 4.0 will work with any release in the 4.x series, and a model trained in 4.1 will work in 4.1 or greater until we hit v5). We currently exclude the TensorFlow models from this as we're transitioning from the TF 1.x releases to the new tensorflow-java releases and TF-Java only just started to support TF's usual serialization mechanisms. Hopefully as TF-Java stabilises we'll be able to stabilise Tribuo's TF based models to provide the same upwards compatibility guarantee.

We take the serialisation compatibility seriously, for example in the upcoming 4.1 release there is a complete refactor of LinearSGDModel and LinearSGDTrainer to allow them to use optimised dense math functions, but LinearSGDModels from 4.0 will load fine in 4.1 (however if they are then saved out by Tribuo 4.1 then they won't load in Tribuo 4.0, as we only provide upwards compatibility). If a model from a 4.x release won't load in a later 4.y release then that's a bug and we'll fix it.

We're looking at alternative serialisation mechanisms to replace java.io.Serializable as mentioned in the roadmap. I think we're leaning towards a protobuf based mechanism, but it's not decided yet. We're also looking at adding ONNX export support for Tribuo models. Both of these are likely to land in the 4.2 release, and we'll support converting back and forth between the new mechanism and java.io.Serializable (though once a model has been exported as ONNX it will only load back in using Tribuo's ONNX support, it won't reconstruct the original Tribuo model class). Once we've adopted new serialisation mechanisms we hope to provide upwards compatibility across major versions.

from tribuo.

Craigacp avatar Craigacp commented on May 22, 2024

We've started landing ONNX export support in preparation for the 4.2 release - #154. Initially this will cover a subset of Tribuo's models, and probably not support arbitrary recursion over ensembles (i.e., an ensemble made up of ensembles). It will also have the start of an alternative serialization mechanism, as you'll be able to serialize provenance objects into protobufs. This will also expand in future releases to allow serialization of all of Tribuo's models as protobufs.

from tribuo.

Craigacp avatar Craigacp commented on May 22, 2024

As of 4.3 all models can be serialized into protobufs and we'll use that as the sole serialization mechanism for v5 replacing java.io.Serializable (ONNX export will still be available for a subset of Tribuo models).

from tribuo.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.