← all repositories
blei-lab/edward

Bayesian deep learning before it was cool

Edward fused probabilistic programming into TensorFlow back when that meant wiring variational inference by hand.

4.8k stars Jupyter Notebook ML FrameworksOther AI
edward
Velocity · 7d
+1.3
★ / day
Trend
steady
star history

What it does Edward is a Python library for probabilistic modeling, inference, and model criticism built on TensorFlow. It lets you specify directed graphical models, neural networks via Keras or tf.layers, implicit generative models, and Bayesian nonparametrics, then run variational inference, MCMC, or even GAN-style training through a common interface.

The interesting bit The project treats “criticism” as a first-class citizen alongside modeling and inference — it includes posterior predictive checks and point-based evaluations, not just parameter estimation. That’s unusual: most frameworks stop at “here’s your MAP estimate, good luck.”

Key highlights

  • Variational inference, Gibbs sampling, Hamiltonian Monte Carlo, and stochastic gradient Langevin dynamics in one toolkit
  • Composable inference: EM, pseudo-marginal/ABC methods, message passing
  • Leverages TensorFlow’s computational graphs, distributed training, and TensorBoard visualization
  • Explicitly designed as a research testbed, not a locked-down production framework

Caveats

  • Built on TensorFlow 1.x-era patterns (tf.layers, graph-based execution); the README doesn’t mention TF 2.x or eager execution compatibility
  • Development appears quiet; the Travis CI badge and forum links suggest maintenance-mode status

Verdict Worth studying if you’re implementing custom inference algorithms or teaching probabilistic ML. Skip it if you need a modern, actively maintained probabilistic framework — Pyro, NumPyro, or TensorFlow Probability have inherited this space.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.