Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pyro-ppl/pyro
Deep universal probabilistic programming with Python and PyTorch
https://github.com/pyro-ppl/pyro
bayesian bayesian-inference deep-learning machine-learning probabilistic-modeling probabilistic-programming python pytorch variational-inference
Last synced: 20 days ago
JSON representation
Deep universal probabilistic programming with Python and PyTorch
- Host: GitHub
- URL: https://github.com/pyro-ppl/pyro
- Owner: pyro-ppl
- License: apache-2.0
- Created: 2017-06-16T05:03:47.000Z (over 7 years ago)
- Default Branch: dev
- Last Pushed: 2024-05-22T06:18:20.000Z (6 months ago)
- Last Synced: 2024-05-23T06:47:12.854Z (6 months ago)
- Topics: bayesian, bayesian-inference, deep-learning, machine-learning, probabilistic-modeling, probabilistic-programming, python, pytorch, variational-inference
- Language: Python
- Homepage: http://pyro.ai
- Size: 83.7 MB
- Stars: 8,394
- Watchers: 201
- Forks: 983
- Open Issues: 256
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-meteo - pyro
- awesome-topic-models - pyro - PPL built on PyTorch, e.g., [prodLDA](http://pyro.ai/examples/prodlda.html) [:page_facing_up:](https://www.jmlr.org/papers/volume20/18-403/18-403.pdf) (Probabilistic Programming Languages (PPL) (a.k.a. Build your own Topic Model) / Embedding based Topic Models)
- awesome-sciml - pyro-ppl/pyro: Deep universal probabilistic programming with Python and PyTorch
- awesome-list - Pyro - Deep universal probabilistic programming with Python and PyTorch. (Linear Algebra / Statistics Toolkit / Statistical Toolkit)
- awesome-datascience - pyro
- awesome-python-machine-learning-resources - GitHub - 20% open · ⏱️ 05.08.2022): (概率统计)
- StarryDivineSky - pyro-ppl/pyro
- pytrade.org - pyro - Deep universal probabilistic programming with Python and PyTorch (Curated List / Machine Learning Tools)
README
-----------------------------------------
[![Build Status](https://github.com/pyro-ppl/pyro/workflows/CI/badge.svg)](https://github.com/pyro-ppl/pyro/actions)
[![Coverage Status](https://coveralls.io/repos/github/pyro-ppl/pyro/badge.svg?branch=dev)](https://coveralls.io/github/pyro-ppl/pyro?branch=dev)
[![Latest Version](https://badge.fury.io/py/pyro-ppl.svg)](https://pypi.python.org/pypi/pyro-ppl)
[![Documentation Status](https://readthedocs.org/projects/pyro-ppl/badge/?version=dev)](http://pyro-ppl.readthedocs.io/en/stable/?badge=dev)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/3056/badge)](https://bestpractices.coreinfrastructure.org/projects/3056)[Getting Started](http://pyro.ai/examples) |
[Documentation](http://docs.pyro.ai/) |
[Community](http://forum.pyro.ai/) |
[Contributing](https://github.com/pyro-ppl/pyro/blob/master/CONTRIBUTING.md)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 was originally developed at Uber AI and is now actively maintained by community contributors, including a dedicated team at the [Broad Institute](https://www.broadinstitute.org/).
In 2019, Pyro [became](https://www.linuxfoundation.org/press-release/2019/02/pyro-probabilistic-programming-language-becomes-newest-lf-deep-learning-project/) a project of the Linux Foundation, a neutral space for collaboration on open source software, open standards, open data, and open hardware.For more information about the high level motivation for Pyro, check out our [launch blog post](http://eng.uber.com/pyro).
For additional blog posts, check out work on [experimental design](https://eng.uber.com/oed-pyro-release/) and
[time-to-event modeling](https://eng.uber.com/modeling-censored-time-to-event-data-using-pyro/) in Pyro.## Installing
### Installing a stable Pyro release
**Install using pip:**
```sh
pip install pyro-ppl
```**Install from source:**
```sh
git clone [email protected]: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:
```sh
pip install pyro-ppl[extras]
```
Make sure that the models come from the same release version of the [Pyro source code](https://github.com/pyro-ppl/pyro/releases) as you have installed.### Installing Pyro dev branch
For recent features you can install Pyro from source.
**Install Pyro using pip:**
```sh
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:
```sh
pip install git+https://github.com/pyro-ppl/pyro.git#egg=project[extras]
```**Install Pyro from source:**
```sh
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](docker/README.md).
## 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}
}
```