Pyro Logo

Pyro


Deep Universal Probabilistic Programming

Install Docs Forum Examples

About Pyro


NumPyro Release We’re excited to announce the release of NumPyro, a NumPy-backed Pyro using JAX for automatic differentiation and JIT compilation, with over 100x speedup for HMC and NUTS! See the examples and documentation for more details.

Pyro is a universal probabilistic programming language (PPL) written in Python and supported by PyTorch on the backend. Pyro enables flexible and expressive deep probabilistic modeling, unifying the best of modern deep learning and Bayesian modeling. It was designed with these key principles:

Universal: Pyro can represent any computable probability distribution.
Scalable: Pyro scales to large data sets with little overhead.
Minimal: Pyro is implemented with a small core of powerful, composable abstractions.
Flexible: Pyro aims for automation when you want it, control when you need it.


Check out the blog post for more background or dive into the tutorials.


How to Install Pyro


Pyro supports Python 3.

Install via Pip

First install PyTorch. Then install Pyro via pip:

 pip3 install pyro-ppl 

Install from source

git clone https://github.com/pyro-ppl/pyro.git
cd pyro
pip install .[extras]

Running Docker Image

Follow the instructions here.

Pyro is an Apache 2.0-Licensed Open Source Project

If you use Pyro or NumPyro in your research, please consider citing our papers.


@article{bingham2018pyro,
author = {Bingham, Eli and Chen, Jonathan P. and Jankowiak, Martin and Obermeyer, Fritz and
          Pradhan, Neeraj and Karaletsos, Theofanis and Singh, Rohit and Szerlip, Paul and
          Horsfall, Paul and Goodman, Noah D.},
title = {{Pyro: Deep Universal Probabilistic Programming}},
journal = {Journal of Machine Learning Research},
year = {2018}
}

@article{phan2019composable,
author = {Phan, Du and Pradhan, Neeraj and Jankowiak, Martin},
title = {Composable Effects for Flexible and Accelerated Probabilistic Programming in NumPyro},
journal = {arXiv preprint arXiv:1912.11554},
year = {2019}
}
                

Institutions Using Pyro:

(Add yours too!)


Uber Logo
Stanford Logo

MIT Logo


Harvard Logo
Oxford Logo

Penn Logo


FSU Logo

UBC Logo

NYU Logo


UCPH Logo

Columbia Logo
NUS Logo

UIO Logo
UIO Logo

babylon Logo

NE Logo
TUD Logo
Broad Logo