About Pyro
Pyro is a universal probabilistic programming language written in Python and supported by PyTorch on the backend. It is used for deep probabilistic modeling, combining modern deep learning with Bayesian methods so that users can describe a model as code and run inference over it.
The project lists four design principles. It is universal, able to represent any computable probability distribution. It is scalable, handling large data sets with little overhead. It is minimal, built on a small core of composable abstractions. And it is flexible, offering automation when wanted and control when needed. It is aimed at researchers and machine learning practitioners who work with uncertainty, and the site links to installation instructions, documentation, a forum, examples and tutorials.
Installation is through pip after PyTorch is installed, from source on GitHub, or with a Docker image. The home page also announces NumPyro, a version that uses JAX for automatic differentiation and just in time compilation and reports large speedups for Hamiltonian Monte Carlo and the No U Turn Sampler. The site marks Pyro as a Beta release and cites a 2018 paper in the Journal of Machine Learning Research.
Pyro is an Apache 2.0 licensed open source project and is free to use. The site publishes no paid plans or pricing.