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.
Installing a stable Pyro release
First install PyTorch.
Install via pip:
pip install pyro-ppl
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
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.