© 2020, The PyMC Development Team

PyMC + Theano + JAX
PyMC + Theano + JAX

In this post we’d like to make a major announcement about where PyMC is headed, how we got here, and what our reasons for this direction are.

TL;DR: PyMC3 on Theano with the new JAX backend is the future, PyMC4 based on TensorFlow Probability will not be developed further.

In 2017, the original authors of Theano announced that they would stop development of their excellent library. This left PyMC3, which relies on Theano as its computational backend, in a difficult position and prompted us to start work on PyMC4 which is based on TensorFlow instead. …

Posted by Chris Fonnesbeck on behalf of the PyMC development team

This week featured the release of PyMC 3.7, which includes a slew of bug fixes and enhancements to help make building and fitting Bayesian models easier and more robust than ever. No fewer than 43 developers committed changes that became part of this release, so a big thanks goes out to all of them for their contributions.

The number of new features in 3.7 is modest, but one in particular merits highlighting. Juan Martin Loyola generalized the Minibatch class, a wrapper for datasets that allows for stochastic gradient calculations in variational inference, to more formally integrate datasets into model specification. Specifically, the Data class is a container for data that endows it with many of the attributes of other PyMC3 variable objects. …

Posted by Chris Fonnesbeck on behalf of the PyMC development team

The PyMC development team is proud to announce the release of version 3.5 today. This version features several usability enhancements, so we recommend this update to all users. The implementation of parallel sampling has been refactored to be more robust with large traces, show progress bars for multiple chains, and return partial results for interrupted sampling. A few new variable transformations have been added, most notably an Ordered transformation to ensure that mode switching does not occur during sampling, and a Chain transformation for chaining together multiple transforms on the same variable. …

PyMC3 is an open-source library for Bayesian statistical modeling and inference in Python, implementing gradient-based Markov chain Monte Carlo, variational inference, and other approximation methods. These algorithms currently rely on Theano for computation, specifically for providing gradients.

Posted by Chris Fonnesbeck on behalf of the PyMC development team

Since the Theano team announced that it would cease development and maintenance of Theano within a year, we, the PyMC developers, have been actively discussing what to do about this. In this post we want to make two big announcements:

PyMC4 will be built on TensorFlow Probability

We are very excited to announce that the new version of PyMC will use TensorFlow Probability (TFP) as its backend. TensorFlow already has a very broad user base and with TFP gained a powerful new library with elegant support for probability distributions and transformations (called bijections, see the TFP paper for a full description), as well as a layer for constructing probabilistic models, called Edward2. …


PyMC Developers

Probabilistic Programming in Python

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store