Pyro Now On Watson Machine Learning
Written by Kay Ewbank   
Friday, 23 November 2018

Pyro, a universal probabilistic programming language (PPL) written in Python and supported by PyTorch on the backend, is now available on IBM's Watson Machine Learning platform with PyTorch 0.4

Pyro is a probabilistic programming language built on Python as a platform for developing advanced probabilistic models. It uses stochastic variational inference algorithms and probability distributions built on top of PyTorch, a GPU-accelerated deep learning framework. Pyro also uses Poutine, a library of composable building blocks for modifying the behavior of probabilistic programs. This means it can accommodate complex or model-specific algorithmic behavior.



The developers of Pyro say it unifies the best of modern deep learning and Bayesian modeling. It was designed to be as universal as possible, with the intention of being able to represent any computable probability distribution. Pyro also aims to be scalable, and to be minimal due to it being implemented with a small core of powerful, composable abstractions.

Pyro can be used to describe inference problems, roughly translated as:

“what must be true if this random choice had a certain observed value?”

Probabilistic programming systems provide universal inference algorithms that can perform inference with little intervention from the user. In Pyro, you describe the inference in a model via a second model called an inference model, or guide in Pyro. It's not possible to write the 'correct' guide, so you specify a family of guides with parameters, then optimize your model to move the guide to the desired outcome. This optimization is automated via automatic differentiation 

Pyro builds on the PyTorch library, which includes automatic differentiation using very fast, GPU-accelerated tensor math. PyTorch constructs gradients dynamically, which enables Pyro programs to include stochastic control structure, that is, random choices in a Pyro program can control the presence of other random choices in the program. Stochastic control structure is crucial to make a PPL universal.

In Pyro, both the generative models and the inference guides can include deep neural networks as components. The developers say that the resulting deep probabilistic models have shown great promise in recent work, especially for unsupervised and semi-supervised machine learning problems.



More Information

Pyro Website

Pyro On Uber

Related Articles

PyTorch Scholarship Challenge

More Efficient Style Transfer Algorithm

ONNX For AI Model Interoperability

Microsoft Cognitive Toolkit Version 2.0

NVIDA Updates Free Deep Learning Software

TensorFlow - Googles Open Source AI And Computation Engine

AIGoes Open Source To The Tune Of $1 Billion 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on, Twitter, Facebook or Linkedin.


Speech2Face - Give Me The Voice And I Will Give You The Face

Neural networks are good at spotting patterns and correlations in data, but are they good enough to recreate the face that produced a particular voice?

PureScript Updates Parser

There's a new version of PureScript with a completely rewritten parser. The developers say they hope this release will open up a lot of opportunities for syntactic tooling, either using the existing p [ ... ]

More News





or email your comment to:

Last Updated ( Friday, 23 November 2018 )