Skip to content
Deep universal probabilistic programming with Python and PyTorch
Python Makefile Shell C++ TeX Dockerfile
Branch: dev
Clone or download
fritzo and neerajprad Use torch.jit.script in DiscreteHMM (#2039)
* Use torch.jit.script in DiscreteHMM

* Remove deprecated optimization kwarg
Latest commit e3fe08f Sep 18, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Create (#1096) Apr 25, 2018
docker drop remaining python 2 references (#1972) Jul 19, 2019
docs fix tqdm required version (#2033) Sep 12, 2019
examples Use torch.jit.script in DiscreteHMM (#2039) Sep 18, 2019
profiler Profile compilation time in profiler.hmm (#1975) Jul 22, 2019
pyro Use torch.jit.script in DiscreteHMM (#2039) Sep 18, 2019
scripts Increase perf regression threshold for CI and use process time (#1048) Apr 19, 2018
tests Working memory tutorial (#2028) Sep 17, 2019
tutorial Working memory tutorial (#2028) Sep 17, 2019
.codecov.yml disable codecov comments (#1366) Sep 6, 2018
.coveragerc add coverage config file (#1297) Aug 8, 2018
.gitattributes add .gitattributes so that can be correctly labelled as python projec… Jun 8, 2018
.gitignore Address cholesky issue for potential function (#2014) Aug 14, 2019
.readthedocs.yml Fix broken readthedocs (#1990) Aug 2, 2019
.travis.yml Fixes to enable dev branch to move to pytorch-1.2 (#2001) Aug 9, 2019 Create (#546) Nov 14, 2017 add cuda mode to contributing (#1767) Feb 19, 2019 copyright, docs fixes (#807) Feb 23, 2018 Implement a SpanningTree distribution (#1821) Apr 16, 2019
Makefile Add option for lax testing that ignores AssertionError (#2004) Aug 10, 2019 Add CII best practices badge to (#2023) Aug 22, 2019
setup.cfg Ignore benign numpy warnings about ufunc size changed (#1874) May 22, 2019 Bump up Pyro version to 0.4.0 (#2008) Aug 10, 2019

Build Status Latest Version Documentation Status CII Best Practices

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 a beta release. It is developed and maintained by Uber AI Labs and community contributors. For more information, check out our blog post.


Installing a stable Pyro release

Install using pip:

Pyro supports Python 3.4+.

pip install pyro-ppl

Install from source:

git clone
cd pyro
git checkout master  # master is pinned to the latest release
pip install .

Install with extra packages:

To install the dependencies required to run the probabilistic models included in the examples/tutorials directories, please use the following command:

pip install pyro-ppl[extras] 

Make sure that the models come from the same release version of the Pyro source code as you have installed.

Installing Pyro dev branch

For recent features you can install Pyro from source.

Install using pip:

pip install git+

or, with the extras dependency to run the probabilistic models included in the examples/tutorials directories:

pip install git+[extras]

Install from source:

git clone
cd pyro
pip install .  # pip install .[extras] for running models in examples/tutorials

Running Pyro from a Docker Container

Refer to the instructions here.


If you use Pyro, please consider citing:

  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 = {arXiv preprint arXiv:1810.09538},
  year = {2018}
You can’t perform that action at this time.