tf.contrib.bayesflow.variational_inference.elbo_with_log_joint()

tf.contrib.bayesflow.variational_inference.elbo_with_log_joint(log_joint, variational=None, keep_batch_dim=True, form=None, name='ELBO')

Evidence Lower BOund. log p(x) >= ELBO.

This method is for models that have computed p(x,Z) instead of p(x|Z). See elbo for further details.

Because only the joint is specified, analytic KL is not available.

Args:
  • log_joint: Tensor log p(x, Z).
  • variational: list of DistributionTensor q(Z). If None, defaults to all DistributionTensor objects upstream of log_joint.
  • keep_batch_dim: bool. Whether to keep the batch dimension when summing entropy term. When the sample is per data point, this should be True; otherwise (e.g. in a Bayesian NN), this should be False.
  • form: ELBOForms constant. Controls how the ELBO is computed. Defaults to ELBOForms.default.
  • name: name to prefix ops with.
Returns:

Tensor ELBO of the same type and shape as log_joint.

Raises:
  • TypeError: if variationals in variational are not DistributionTensors.
  • TypeError: if form is not a valid ELBOForms constant.
  • ValueError: if variational is None and there are no DistributionTensors upstream of log_joint.
  • ValueError: if form is ELBOForms.analytic_kl.
doc_TensorFlow
2016-10-14 12:44:41
Comments
Leave a Comment

Please login to continue.