/edward

A library for probabilistic modeling, inference, and criticism. Deep generative models, variational inference. Runs on TensorFlow.

Primary LanguagePythonOtherNOASSERTION

edward

Build Status Coverage Status

Edward is a Python library for probabilistic modeling, inference, and criticism. It enables black box inference for models with discrete and continuous latent variables, neural network parameterizations, and infinite dimensional parameter spaces. Edward serves as a fusion of three fields: Bayesian statistics and machine learning, deep learning, and probabilistic programming.

It supports modeling languages including

It supports inference via

  • Variational inference
    • Divergence minimization
      • Black box variational inference
      • Stochastic variational inference
      • Variational auto-encoders
      • Inclusive KL divergence (KL(p || q))
    • Marginal posterior optimization (empirical Bayes, marginal maximum likelihood)
    • Maximum a posteriori (penalized maximum likelihood, maximum likelihood)

It also has features including

  • TensorFlow for backend computation, which includes automatic differentiation, GPU support, computational graphs, optimization, and TensorBoard
  • A library for probability distributions in TensorFlow
  • Documentation and tutorials
  • Examples demonstrating state-of-the-art generative models and inference

Getting Started

You can find a tutorial here for getting started with Edward, as well as a tutorial here for how to use it for research. We highlight a few examples, more of which can be found in examples/:

Read the documentation in the Wiki.

Installation

To install the latest stable version, run

pip install edward

To install the latest development version, run

pip install -e "git+https://github.com/blei-lab/edward.git#egg=edward"

Authors

Edward is led by Dustin Tran with guidance by David Blei. It is under active development (by order of joining) by Dustin Tran, David Blei, Alp Kucukelbir, Adji Dieng, Maja Rudolph, and Dawen Liang. We welcome contributions by submitting issues, feature requests, or by solving any current issues!

We thank Rajesh Ranganath, Allison Chaney, Jaan Altosaar, and other members of the Blei Lab for their helpful feedback and advice.

Citation

We appreciate citations for Edward because it lets us find out how people have been using the library and it motivates further work.

Dustin Tran, David M. Blei, Alp Kucukelbir, Adji Dieng, Maja Rudolph, and Dawen Liang. 2016. Edward: A library for probabilistic modeling, inference, and criticism. https://github.com/blei-lab/edward

@misc{tran2016edward,
  author = {Dustin Tran and David M. Blei and Alp Kucukelbir and Adji Dieng and Maja Rudolph and Dawen Liang},
  title = {{Edward: A library for probabilistic modeling, inference, and criticism}},
  year = {2016},
  url = {https://github.com/blei-lab/edward}
}