code: def log_soomean_exp(logx, axis, keepdims=False, name=None):
      """Computes the log-swap-one-out-mean of `exp(logx)`.
  
      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,
          ```none
          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`).
      """
      with tf.name_scope(name or "log_soomean_exp"):
          return _log_soosum_exp_impl(
              logx, axis, keepdims, compute_mean=True
          )
  
file_path: probability/tensorflow_probability/python/stats/leave_one_out.py
imports: import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import tensorshape_util
  from tensorflow_probability.python.math.generic import log_add_exp
  from tensorflow_probability.python.math.generic import softplus_inverse
label_desc: Use image node_id 4 for calling a global function with example usage: log_soomean_exp(logx, axis, keepdims, name) and returns: _log_soosum_exp_impl