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:Tensorlog p(x, Z). -
variational: list ofDistributionTensorq(Z). IfNone, defaults to allDistributionTensorobjects upstream oflog_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 invariationalare notDistributionTensors. -
TypeError: if form is not a valid ELBOForms constant. -
ValueError: ifvariationalis None and there are noDistributionTensors upstream oflog_joint. -
ValueError: if form is ELBOForms.analytic_kl.
Please login to continue.