Announcing the TensorFlow Dev Summit 2020

# tfp.experimental.substrates.jax.stats.log_soomean_exp

Computes the log-swap-one-out-mean of `exp(logx)`.

``````tfp.experimental.substrates.jax.stats.log_soomean_exp(
logx,
axis,
keepdims=False,
name=None
)
``````

The swapped out element `logx[i]` is replaced with the log-leave-`i`-out geometric mean of `logx`.

#### Args:

• `logx`: Floating-type `Tensor` representing `log(x)` where `x` is some positive value.
• `axis`: The dimensions to sum across. If `None` (the default), reduces all dimensions. Must be in the range `[-rank(logx), rank(logx)]`. Default value: `None` (i.e., reduce over all dims).
• `keepdims`: If true, retains reduced dimensions with length 1. Default value: `False` (i.e., keep all dims in `log_mean_x`).
• `name`: Python `str` name prefixed to Ops created by this function. Default value: `None` (i.e., `"log_soomean_exp"`).

#### Returns:

• `log_soomean_x`: ```Tensor` with same shape and dtype as `logx` representing the natural-log of the average of `x``` except that the element `logx[i]` is replaced with the log of the leave-`i`-out Geometric-average. The mean of the gradient of `log_soomean_x` is `1`. Mathematically `log_soomean_x` is,
``````log_soomean_x[i] = log(Avg{h[j ; i] : j=0, ..., m-1})
h[j ; i] = { u[j]                              j!=i
{ GeometricAverage{u[k] : k != i}   j==i
``````
• `log_mean_x`: `logx.dtype` `Tensor` corresponding to the natural-log of the average of `x`. The sum of the gradient of `log_mean_x` is `1`. Has reduced shape of `logx` (per `axis` and `keepdims`).