Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Fast, flexible and easy to use probabilistic modelling in Python.
| Date | Stars |
|---|---|
| 2026-07-24 | 3538 |
| 2026-07-25 | 3538 |
| 2026-07-28 | 3540 |
| 2026-07-30 | 3540 |
| 2026-08-06 | 3540 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
<img src="https://github.com/jmschrei/pomegranate/blob/master/docs/logo/pomegranate-logo.png" width=300> [](https://pepy.tech/project/pomegranate)   > **Note** > IMPORTANT: pomegranate v1.0.0 is a ground-up rewrite of pomegranate using PyTorch as the computational backend instead of Cython. Although the same functionality is supported, the API is significantly different. Please see the tutorials and examples folders for help rewriting your code. [ReadTheDocs](https://pomegranate.readthedocs.io/en/latest/) | [Tutorials](https://github.com/jmschrei/pomegranate/tree/master/docs/tutorials) | [Examples](https://github.com/jmschrei/pomegranate/tree/master/examples) pomegranate is a library for probabilistic modeling defined by its modular implementation and treatment of all models as the probability distributions they are. The modular implementation allows one to easily drop normal distributions into a mixture model to create a Gaussian mixture model just as easily as dropping a gamma and a Poisson distribution into a mixture model to create a heterogeneous mixture. But that's not all! Because each model is treated as a probability distribution, Bayesian networks can be dropped into a mixture just as easily as a normal distribution, and hidden Markov models can be dropped into Bayes classifiers to make a classifier over sequences. Together, these two design choices enable a flexibility not seen in any other probabilistic modeling package. Recently, pomegranate (v1.0.0) was rewritten from the ground up using PyTorch to replace the outdated Cython backend. This rewrite gave me an opportunity to fix many bad design choices that I made as a bb software engineer. Unfortunately, many of these changes are not backwards compatible and will disrupt workflows. On the flip side, these changes have significantly sped up most methods, improved and simplified the code, fixed many issues raised by the community over the years, and made it significantly easier to contribute. I've written more below, but you're likely here now because your code is broken and this is the tl;dr. Special shout-out to [NumFOCUS](https://numfocus.org/) for supporting this work with a special development grant. ### Installation `pip install pomegranate` If you need the last Cython release before the rewrite, use `pip install pomegranate==0.14.8`. You may need to manually install a version of Cython before v3. ### Why a Rewrite? This rewrite was motivated by four main reasons: - <b>Speed</b>: Native PyTorch is usually significantly faster than the hand-tuned Cython code that I wrote. - <b>Features</b>: PyTorch has many features, such as serialization, mixed precision, and GPU support, that can now be directly used in pomegranate without additional work on my end. - <b>Community Contribution</b>: A challenge that many people faced when using pomegranate was that they could not modify or extend it because they did not know Cython. Even if they did know Cython, coding in it is a pain that I felt each time I tried adding a new feature or fixing a bug or releasing a new version. Using PyTorch as the backend significantly reduces the amount of effort needed to add in new features. - <b>Interoperability</b>: Libraries like PyTorch offer an invaluable opportunity to not just utilize their computational backends but to better integrate into existing resources and communities. This rewrite will make it easier for people to integrate probabilistic models with neural networks as losses, constraints, and structural regularizations, as well as with other projects built on PyTorch. ### High-level Changes 1. General - The entire codebase has been rewritten in PyTorch and all models are instances of `torch.nn.Module` - This codebase is checked by a comprehensive sui
Excerpt of 13,504 characters
Read on GitHub699
54
22
17
Nelson Liu · @stanfordnlp · United States
14
11
9
5
3
Zhanzhao (Deo) Liang · 喵喵科技 · China
3
manoj kumar · Google Brain · Netherlands
3
3
3
2
2
UIUC & Tsinghua University · United States
2
2
Alexander Jung · Germany
2
2
2
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:aa44bdb846d78703, topic:pytorch