Skip to content

Releases: jmschrei/pomegranate

v1.0.0

16 Apr 07:29
Compare
Choose a tag to compare

This release marks a major milestone in the pomegranate saga.

  • The Cython backend has been replaced with a PyTorch backend. Goodbye weird installation issues and segfaults.
  • The API has been changed in a way that is not back-compatible, hence an increment in the major version. These changes fix issues that have hampered development, made the user experience more difficult, or were just bad.

Here is an incomplete summary of the changes. Please see the CHANGELOG for a complete description.

General

  • The entire codebase has been rewritten from the ground up to use PyTorch in the backend
  • This codebase is guarded by a comprehensive suite of >800 unit tests, calling assert statements several thousand times.

Features

  • GPU support has been added for all models and methods
  • Mixed/half precision has been added for all models and methods (though the benefits seem mild to none...)
  • Serialization is now handled by PyTorch, yielding more compact and efficient I/O
  • Missing values are now supported through torch.masked.MaskedTensor objects
  • Prior probabilities are now supported for all relevant models and methods and enable more comprehensive/flexible semi-supervised learning than before

Models

  • All distributions are now multivariate by default, supporting speedups through batched operations
  • Factor graphs are now supported as first-class citizens
  • Hidden Markov models have been split into DenseHMM and SparseHMM models which differ in how the transition matrix is encoded, with DenseHMM objects being significantly faster
  • NaiveBayes models have been removed
  • MarkovNetworks models have been temporarily removed
  • Constraint graphs have been temporarily removed

Hope this is useful to y'all! I know that it is a big change but I think that these changes will pay off. Please reach out with feedback or questions.

v0.14.8

15 Apr 06:33
6793e53
Compare
Choose a tag to compare

This is the last release of the Cython version of pomegranate.

v0.4.0

30 Mar 20:01
Compare
Choose a tag to compare

This release contains speed improvements, bug fixes, and many model additions, as well as extensive documentation.

Beta Release

04 Jan 05:50
Compare
Choose a tag to compare

I am releasing the code for HMMs, FSMs, and discrete Bayesian networks for public debugging. The development for HMMs and FSMs is probably finished, but any bugs or feedback are still welcome! Predominately looking for feedback on the Bayesian network implementation and usage.