tf.contrib.bayesflow.variational_inference.elbo_with_log_joint
elbo_with_log_joint(
log_joint,
variational=None,
keep_batch_dim=True,
form=None,
name='ELBO'
)
Defined in tensorflow/contrib/bayesflow/python/ops/variational_inference_impl.py.
See the guide: BayesFlow Variational Inference (contrib) > Ops
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 ofStochasticTensorq(Z). IfNone, defaults to allStochasticTensorobjects 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 notStochasticTensors.TypeError: if form is not a valid ELBOForms constant.ValueError: ifvariationalis None and there are noStochasticTensors upstream oflog_joint.ValueError: if form is ELBOForms.analytic_kl.
