code: def _masked_logmeanexp(input_tensor, mask_tensor, axis=None):
      """Compute log(mean(exp(input_tensor))) on masked elements.
  
      Args:
        input_tensor: `float`-like `Tensor` to be reduced.
        mask_tensor: `bool`-like `Tensor` of the same shape of `input_tensor`.
          Only the elements from `input_tensor` with the mask of `True` in
          `mask_tensor` will be selected for calculation.
        axis: The dimensions to sum across.
          Default value: `None`, i.e. all dimensions will be reduced.
  
      Returns:
        reduced_tensor: `float`-like `Tensor` contains the reduced result.
      """
      with tf.name_scope("masked_logmeanexp"):
          input_tensor = tf.convert_to_tensor(
              input_tensor, dtype_hint=tf.float32, name="input_tensor"
          )
          mask_tensor = tf.convert_to_tensor(
              mask_tensor, dtype_hint=tf.bool, name="mask_tensor"
          )
          # To mask out a value from log space, one could push the value to -inf.
          masked_input = _get_masked_scores(input_tensor, mask_tensor)
          log_n = tf.math.log(
              tf.cast(
                  tf.reduce_sum(tf.where(mask_tensor, 1, 0), axis=axis),
                  masked_input.dtype,
              )
          )
          return tf.reduce_logsumexp(masked_input, axis=axis) - log_n
  
file_path: probability/tensorflow_probability/python/vi/mutual_information.py
imports: import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import assert_util
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import tensorshape_util
label_desc: Use image node_id 4 for calling a global function with example usage: _masked_logmeanexp(input_tensor, mask_tensor, axis) and returns: unknown