pyprobml is a collection of Jupyter notebooks that reproduce figures from probabilistic machine learning textbooks.
The project provides executable code implementing the concepts and examples from "Probabilistic Machine Learning: An Introduction" and "Probabilistic Machine Learning: Advanced Topics". It demonstrates probabilistic modeling techniques across multiple frameworks including NumPy, SciPy, scikit-learn, JAX, TensorFlow, and PyTorch. The notebooks serve as both educational material and reference implementations, allowing readers to see how theoretical concepts translate into working code.
This repository suits developers and students learning probabilistic machine learning who want to understand implementations alongside textbook explanations. It works well for those who prefer learning from concrete examples in Jupyter notebooks rather than abstract descriptions. The project covers a broad range of frameworks, so it accommodates different preferences in the machine learning ecosystem. The notebooks are designed to run in Google Colab with minimal setup, making it accessible without local installation, though local execution is also supported through standard Python dependency management.
The project is in maintenance mode, meaning the core content is stable but not actively expanding. Development activity shows a focus on preserving existing functionality rather than adding new features, with testing infrastructure in place to track the status of figure reproduction across both books.