pyro

Deep universal probabilistic programming with Python and PyTorch

Github stars Tracking Chart


Build Status
codecov.io
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 developed and maintained by Uber AI Labs and community contributors.
For more information, check out our blog post.

Installing

Installing a stable Pyro release

Install using pip:

Pyro supports Python 3.4+.

pip install pyro-ppl

Install from source:

git clone git@github.com:pyro-ppl/pyro.git
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+https://github.com/pyro-ppl/pyro.git

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

pip install git+https://github.com/pyro-ppl/pyro.git#egg=project[extras]

Install from source:

git clone https://github.com/pyro-ppl/pyro
cd pyro
pip install .  # pip install .[extras] for running models in examples/tutorials

Running Pyro from a Docker Container

Refer to the instructions here.

Citation

If you use Pyro, please consider citing:

@article{bingham2019pyro,
  author    = {Eli Bingham and
               Jonathan P. Chen and
               Martin Jankowiak and
               Fritz Obermeyer and
               Neeraj Pradhan and
               Theofanis Karaletsos and
               Rohit Singh and
               Paul A. Szerlip and
               Paul Horsfall and
               Noah D. Goodman},
  title     = {Pyro: Deep Universal Probabilistic Programming},
  journal   = {J. Mach. Learn. Res.},
  volume    = {20},
  pages     = {28:1--28:6},
  year      = {2019},
  url       = {http://jmlr.org/papers/v20/18-403.html}
}

Overview

Name With Ownerpyro-ppl/pyro
Primary LanguagePython
Program languagePython (Language Count: 7)
Platform
License:Apache License 2.0
Release Count35
Last Release Name1.9.0 (Posted on )
First Release Name0.1.0 (Posted on )
Created At2017-06-16 05:03:47
Pushed At2024-05-07 13:39:33
Last Commit At2024-02-19 09:53:25
Stargazers Count8.4k
Watchers Count201
Fork Count1k
Commits Count2.5k
Has Issues Enabled
Issues Count1064
Issue Open Count226
Pull Requests Count2030
Pull Requests Open Count27
Pull Requests Close Count242
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private
To the top