Edward is officially moving into TensorFlow


Hello everyone,

I have an exciting announcement to share: we’re officially merging Edward into TensorFlow.

Specifically, Edward will be in the contrib module for now, and to avoid redundancy with other submodules, we’ll be merging its many features across libraries with a primary focus on:

  • tf.contrib.distributions—for distributions such as Empirical and properties such as supports;
  • tf.contrib.bayesflow—for inference such as ed.KLqp and ed.HMC.

We’re not sure if all of Edward’s features will be in TensorFlow just yet: for example, it’s unclear where to put Edward’s precise PPL. That said, expect that in this move many new innovations in Edward’s design will appear as we make programmable inference far more flexible, more generally compatible with hardware and distributed choices, and most importantly, more accessible by researchers and applied MLers alike.






This is super news.

What will contributing to Edward look like under this model? Will it be like keras, where development is done on the original repo then mirrored into the tensorflow mono-repo? Or will development happen on tensorflow/tensorflow?


That’s an excellent question. I’m not sure we know yet, but we do have some ideas (see below).

We’re definitely not doing that.

This is most likely. Because we don’t know how much of Edward will go into TF, I recommend partitioning development to be either in the TF repo if it’s low-level enough; or in the Edward repo if it’s higher-level and/or more experimental-y such as graph copying. When in doubt, submit to Edward and we can think later about moving it upstream.


Cool. A more direct integration will make for thoughtful design of those low level components.

So for now I guess the approach is to PR to tensorflow if there’s already a base there (for example, for any Distribution subclasses).


Hi Dustin,

any ETA?