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
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 git@github.com: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.
First install a recent PyTorch, currently PyTorch commit 8327982
.
git clone git@github.com:pytorch/pytorch
cd pytorch
git checkout [commit hash above]
Then build PyTorch following instructions in the PyTorch README.
Finally install Pyro
git clone git@github.com:uber/pyro.git
cd pyro
pip install .
Running Pyro from a Docker Container
Refer to the instructions here.