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

Project Page
Last Commit
Sep. 24, 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 .

Install with extra packages:

pip install pyro-ppl[extras]  # for running examples/tutorials

Installing Pyro dev branch

For recent features you can install Pyro from source.

To install a compatible CPU version of PyTorch on OSX / Linux, you could use the PyTorch install helper script.

bash scripts/

Alternatively, build PyTorch following instructions in the PyTorch README.

git clone --recursive
cd pytorch
git checkout 200fb22  # <---- a well-tested commit

On Linux:

python install


MACOSX_DEPLOYMENT_TARGET=10.9 CC=clang CXX=clang++ python install

Finally install Pyro

git clone
cd pyro
pip install .

Running Pyro from a Docker Container

Refer to the instructions here.

Latest Releases
 May. 22 2018
 Apr. 24 2018
 Jan. 10 2018
 Nov. 10 2017
Workarounds to avoid segfault on PyTorch 0.2
 Nov. 4 2017