TensorFlow 2.0 Beta is available Learn more

tfp.vi.jeffreys

The Jeffreys Csiszar-function in log-space.

tfp.vi.jeffreys(
    logu,
    name=None
)

Defined in python/vi/csiszar_divergence.py.

A Csiszar-function is a member of,

F = { f:R_+ to R : f convex }.

The Jeffreys Csiszar-function is:

f(u) = 0.5 ( u log(u) - log(u) )
     = 0.5 kl_forward + 0.5 kl_reverse
     = symmetrized_csiszar_function(kl_reverse)
     = symmetrized_csiszar_function(kl_forward)

This Csiszar-function induces a symmetric f-Divergence, i.e., D_f[p, q] = D_f[q, p].

Args:

  • logu: float-like Tensor representing log(u) from above.
  • name: Python str name prefixed to Ops created by this function.

Returns:

  • jeffreys_of_u: float-like Tensor of the Csiszar-function evaluated at u = exp(logu).