Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Data Science
  3. pyro

pyro

Apache-2.0Python1.9.1

A flexible, scalable deep probabilistic programming library built on PyTorch for universal representation of computable probability distributions.

Visit WebsiteGitHubGitHub
9.0k stars1.0k forks0 contributors

What is pyro?

Pyro is a deep probabilistic programming library built on PyTorch that enables developers and researchers to build complex probabilistic models and perform Bayesian inference at scale. It provides a universal framework for representing computable probability distributions while maintaining performance comparable to hand-written code. The library is designed to be flexible, scalable, and minimal, making it suitable for both prototyping and production use.

Target Audience

Machine learning researchers, data scientists, and developers working on Bayesian modeling, uncertainty quantification, and complex statistical inference tasks who need a flexible and scalable probabilistic programming framework.

Value Proposition

Pyro offers a unique combination of universality (ability to represent any computable distribution), scalability to large datasets, and tight PyTorch integration, providing both high-level abstractions for ease of use and low-level control for customization. Its minimal core design makes it agile and maintainable compared to alternatives.

Overview

Deep universal probabilistic programming with Python and PyTorch

Use Cases

Best For

  • Building complex Bayesian models with custom inference algorithms
  • Scalable probabilistic programming for large datasets
  • Research in deep probabilistic modeling and uncertainty quantification
  • Developing universal probabilistic programming applications
  • Integrating probabilistic models with PyTorch-based deep learning workflows
  • Prototyping and production deployment of statistical models

Not Ideal For

  • Data analysts needing quick, pre-built statistical models without deep learning integration
  • Projects exclusively embedded in TensorFlow ecosystems without PyTorch compatibility
  • Real-time applications where inference latency must be minimized without custom algorithm tuning

Pros & Cons

Pros

Universal Probabilistic Framework

Pyro can represent any computable probability distribution, enabling a wide range of statistical modeling tasks, as stated in the README's key features.

Scalable Inference Performance

It scales efficiently to large datasets with minimal overhead compared to hand-written code, making it practical for big data applications, per the scalability principle.

Deep PyTorch Integration

Leverages PyTorch's automatic differentiation and GPU acceleration, allowing seamless integration with deep learning workflows for efficient computation.

Flexible Control for Experts

Offers high-level abstractions for automation while allowing easy customization of inference algorithms, balancing ease of use with control as per the library's philosophy.

Cons

PyTorch Ecosystem Dependency

Being built on PyTorch creates vendor lock-in, making it unsuitable for projects using other frameworks like TensorFlow without significant overhead.

Additional Setup for Tutorials

Running examples and tutorials requires installing the extras package (pip install pyro-ppl[extras]), adding complexity to initial exploration and setup.

Steep Learning Curve

Requires proficiency in both probabilistic programming concepts and PyTorch, which can be a barrier for newcomers to Bayesian methods, despite the high-level abstractions.

Frequently Asked Questions

Quick Stats

Stars9,026
Forks1,015
Contributors0
Open Issues245
Last commit14 days ago
CreatedSince 2017

Tags

#probabilistic-modeling#variational-inference#python-library#deep-learning#bayesian-inference#python#statistical-modeling#probabilistic-programming#machine-learning#bayesian#pytorch

Built With

P
Python
P
PyTorch

Links & Resources

Website

Included in

Data Science28.8k
Auto-fetched 19 hours ago

Related Projects

PyTorch - Tensors and Dynamic neural networks in Python with strong GPU accelerationPyTorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration

Tensors and Dynamic neural networks in Python with strong GPU acceleration

Stars101,899
Forks28,473
Last commit17 hours ago
YOLOv8YOLOv8

Ultralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification, pose estimation, object tracking

Stars59,803
Forks11,433
Last commit18 hours ago
Yolov5Yolov5

Ultralytics YOLOv5 in PyTorch for object detection, instance segmentation, classification, training, and export.

Stars57,727
Forks17,470
Last commit23 hours ago
PyTorch GeometricPyTorch Geometric

Graph Neural Network Library for PyTorch

Stars23,913
Forks4,020
Last commit2 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub