def linear_regression(features, prior_precision): w = ed.Normal(loc=0., scale=tf.rsqrt(prior_precision), sample_shape=features.shape[1], name="w") y = ed.Normal(loc=tf.tensordot(features, w, [[1], [0]]), scale=1., name="y") return y
def mixture_of_real_and_int(): loc = ed.Normal(loc=0., scale=1., name="loc") flip = ed.Bernoulli(probs=0.5, name="flip") if tf.equal(flip, 1): x = ed.Normal(loc=loc, scale=0.5, sample_shape=5, name="x") else: x = ed.Poisson(rate=tf.nn.softplus(loc), sample_shape=3, name="x") return x
def model(): x = ed.Normal(loc=0., scale=1., name="x") y = ed.Normal(loc=x, scale=1., name="y") return x + y
def model(): return ed.Normal(0., 1., name="x")
def model_builtin(): return ed.Normal(1., 0.1, name="x")
def normal_with_unknown_mean(): loc = ed.Normal(loc=0., scale=1., name="loc") x = ed.Normal(loc=loc, scale=0.5, sample_shape=5, name="x") return x
def variational(): loc = tf.get_variable("loc", []) qz = ed.Normal(loc=loc, scale=0.5, name="qz") return qz