# probml/pyprobml

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/probml-pyprobml).**

7,096 stars · 1,623 forks · Jupyter Notebook · MIT

## Links

- GitHub: https://github.com/probml/pyprobml
- awesome-repositories: https://awesome-repositories.com/repository/probml-pyprobml.md

## Topics

`blackjax` `colab` `flax` `jax` `jupyter-notebooks` `machine-learning` `numpyro` `pml` `probabilistic-programming` `pymc3` `pyro` `pytorch` `tensorflow`

## Description

pyprobml is a collection of notebook-based implementations of probabilistic machine learning models and algorithms. It uses scientific computing and data analysis libraries to execute mathematical concepts and theories for practical application and research.

The project focuses on the programmatic generation of scientific figures and visualizations to recreate results from a technical text. It employs a system of branch-based asset storage to isolate these generated images from the source code.

The repository covers a wide range of probabilistic modeling and machine learning tasks, including Bayesian model prototyping, time series segmentation with hidden Markov models, and sampling via Gibbs sampling. It also includes educational tutorials for numerical computing and image classification.

The project utilizes automated notebook verification and execution testing to ensure code correctness and style consistency.

## Tags

### Artificial Intelligence & ML

- [Machine Learning Implementations](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning-implementations.md) — Implements a comprehensive collection of probabilistic machine learning models and algorithms using Python. ([source](https://github.com/probml/pyprobml/blob/master/requirements.txt))
- [Bayesian Model Prototyping](https://awesome-repositories.com/f/artificial-intelligence-ml/bayesian-model-prototyping.md) — Implements Bayesian models and sampling methods to explore and prototype probabilistic machine learning theories.
- [Figure Reproductions](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning-implementations/figure-reproductions.md) — Executes models and algorithms specifically to reproduce the scientific figures presented in a technical text. ([source](https://github.com/probml/pyprobml#readme))
- [Machine Learning Tutorials](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning-tutorials.md) — Provides pedagogical notebooks that guide users through the implementation of machine learning models using scientific libraries.

### Scientific & Mathematical Computing

- [Figure Recreation](https://awesome-repositories.com/f/scientific-mathematical-computing/figure-recreation.md) — Executes code to reproduce specific figures and visualizations presented throughout a technical text. ([source](https://probml.github.io/pml-book/book1.html))
- [Educational Code Notebooks](https://awesome-repositories.com/f/scientific-mathematical-computing/research-analysis-workflows/educational-code-notebooks.md) — Encapsulates mathematical models and algorithms within executable notebooks for reproducible research and education.
- [Vectorized Array Operations](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/scientific-computing-platforms/scientific-computing/vectorized-array-operations.md) — Uses array-based operations to implement high-performance probabilistic algorithms and numerical models.

### Graphics & Multimedia

- [Research Figure Generation](https://awesome-repositories.com/f/graphics-multimedia/research-figure-generation.md) — Produces publication-quality graphics by executing code that maps mathematical concepts to visual plots.
- [Scientific Figure Generation](https://awesome-repositories.com/f/graphics-multimedia/scientific-figure-generation.md) — Programmatically generates high-quality scientific plots and figures from machine learning code for publications.

### Content Management & Publishing

- [Instructional Code Demos](https://awesome-repositories.com/f/content-management-publishing/demo-content-bundles/instructional-code-demos.md) — Provides standalone code examples and supplementary materials to demonstrate probabilistic concepts. ([source](https://probml.github.io/pml-book/book1.html))

### Data & Databases

- [Numerical Library Integrations](https://awesome-repositories.com/f/data-databases/numerical-library-integrations.md) — Leverages standard numerical computing and data analysis libraries to implement complex probabilistic models.

### Education & Learning Resources

- [Educational Tutorials](https://awesome-repositories.com/f/education-learning-resources/educational-tutorials.md) — Builds pedagogical notebooks that demonstrate how to use specific scientific computing tools and libraries. ([source](https://github.com/probml/pyprobml/blob/master/notebooks/README.md))
- [Machine Learning Tutorials](https://awesome-repositories.com/f/education-learning-resources/machine-learning-tutorials.md) — Provides educational resources and implementation patterns for probabilistic machine learning and numerical computing. ([source](https://github.com/probml/pyprobml/tree/master/notebooks))

### Testing & Quality Assurance

- [Notebook Execution Testing](https://awesome-repositories.com/f/testing-quality-assurance/notebook-execution-testing.md) — Provides automated notebook verification and execution testing to ensure code correctness and style consistency.
