google/edward2 and tf.edward2

474 views
Skip to first unread message

PetrarcaBruto

unread,
Aug 30, 2020, 11:44:02 PM8/30/20
to TensorFlow Probability
Hi,

I am trying to use Edward2 (documented and distributed as part of tensorflow2) but I am confused due to the following:


2- There are virtually NO examples of Edward2. There are some Edward (one) old notebooks at https://github.com/blei-lab/edward/tree/master/notebooks but nothing on Edward2. There is a guide to convert from Edward to Edward2 at https://github.com/google/edward2/blob/master/Upgrading_From_Edward_To_Edward2.md. But if I am new to Edward and Edward2 it seems that I still need to understand Edward. Papers still refer to Edward. 

Questions:
1- Is it worth me pursuing to use Edward2? There seems to be some lack of interest to cater for new users like me who want to deal with a minimum learning curve. 
2- Am I right to think Edward2 should be (or supposed to be) the easiest/most-productive/higher-level probabilistic programming framework for tensorflow2.
 3- What is the best way to get Edward2 examples, tutorials, etc. Those existed for the old Edward.

Thanks,
Petrarca

rif

unread,
Aug 31, 2020, 12:10:27 AM8/31/20
to PetrarcaBruto, TensorFlow Probability
Hi Petrarca.

If you want to use Edward2, the "official" repo for it is https://github.com/google/edward2/tree/master/edward2, so that's the one to use. The version in TFP is there for historical reasons and will eventually be removed. Edward2 is no longer supported by the TensorFlow Probability team.

Edward2 is certainly one high-level approach, but the TFP team has generally come to prefer using TFP's JointDistribution abstraction (some examples here), which we think is about as high-level as Edward2. There is also PyMC4, which is another high-level approach. If you can tell us a little more about what you're interested in doing, we may be able to offer some additional thoughts.

Best,

rif



--
You received this message because you are subscribed to the Google Groups "TensorFlow Probability" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tfprobabilit...@tensorflow.org.
To view this discussion on the web visit https://groups.google.com/a/tensorflow.org/d/msgid/tfprobability/91f3ea1d-4a6d-45b0-8436-ebe54e2eac4bn%40tensorflow.org.

rif

unread,
Aug 31, 2020, 9:02:07 AM8/31/20
to PetrarcaBruto, TensorFlow Probability, Colin Carroll
+TensorFlow Probability (better to respond to the list, not to me personally.)

I'll respond more later, but want to get this back on the list now in case others want to chime in.

rif


On Sun, Aug 30, 2020 at 11:02 PM PetrarcaBruto <petrarc...@gmail.com> wrote:
Thanks Rif for your quick response. I am relatively new to probabilistic programming, still learning. I need, at this point, a productive environment with a low learning curve so I don't have to deal with the subtleties and complexities of the framework and concentrate on the essence of probabilistic models but with a solid underlying platform. I have looked around at Pyro and PyMC4. I am considering Edward2 because it is high level and runs on top of Tensorflow (I think Tensorflow is the right way to go for when I want to put models into production and/or and gives a lot of deployment options). I have looked a bit at the TFP Join abstraction but still it looks like it has a good number of, what looks to me, low-level constructs on it, I could be wrong dough. It seems that I may want to graduate from Edward2 training wheels to TFP later on? For example, when do I really need bijectors at this point?

Sorry I cannot give you much details about my plans (doing book exercises)  but I want to develop bayesian models using a good deal of variational inference (preferable, if possible to MCMC inference), good debugging facilities (when running from PyCharm, for example), build up from deep learning elements, and good use of GPUs.

Petrarca
Reply all
Reply to author
Forward
0 new messages