Counting 2,412 Big Data & Machine Learning Frameworks, Toolsets, and Examples...
Suggestion? Feedback? Tweet @stkim1

Last Commit
Feb. 25, 2018
Jun. 16, 2017

Build Status Latest Version Documentation Status

Getting Started | Documentation | Community | Contributing

Pyro is a flexible, scalable deep probabilistic programming library built on PyTorch. Notably, it was designed with these principles in mind:

  • Universal: Pyro is a universal PPL -- it can represent any computable probability distribution.
  • Scalable: Pyro scales to large data sets with little overhead compared to hand-written code.
  • Minimal: Pyro is agile and maintainable. It is implemented with a small core of powerful, composable abstractions.
  • Flexible: Pyro aims for automation when you want it, control when you need it. This is accomplished through high-level abstractions to express generative and inference models, while allowing experts easy-access to customize inference.

Pyro is in an alpha release. It is developed and used by Uber AI Labs. For more information, check out our blog post.


Installing a stable Pyro release

First install PyTorch.

Install via pip:

Python 2.7.*:

pip install pyro-ppl

Python 3.5:

pip3 install pyro-ppl

Install from source:

git clone [email protected]:uber/pyro.git
cd pyro
git checkout master  # master is pinned to the latest release
pip install .

Installing Pyro dev branch

For recent features you can install Pyro from source.

First install a recent PyTorch, currently PyTorch commit 853dba8.

git clone [email protected]:pytorch/pytorch
cd pytorch
git checkout [commit hash above]

Then build PyTorch following instructions in the PyTorch README.

Finally install Pyro

git clone [email protected]:uber/pyro.git
cd pyro
pip install .

Running Pyro from a Docker Container

Refer to the instructions here.

Latest Releases
 Jan. 10 2018
 Nov. 10 2017
Workarounds to avoid segfault on PyTorch 0.2
 Nov. 4 2017
Initial public release
 Nov. 3 2017