code: def _kl_bernoulli_bernoulli(a, b, name=None):
      """Calculate the batched KL divergence KL(a || b) with a and b ProbitBernoulli.
  
      Args:
        a: instance of a ProbitBernoulli distribution object.
        b: instance of a ProbitBernoulli distribution object.
        name: Python `str` name to use for created operations.
          Default value: `None` (i.e., `'kl_bernoulli_bernoulli'`).
  
      Returns:
        Batchwise KL(a || b)
      """
      with tf.name_scope(
          name or "kl_probit_bernoulli_probit_bernoulli"
      ):
          (
              a_log_probs0,
              a_log_probs1,
          ) = a._outcome_log_probs()  # pylint: disable=protected-access
          (
              b_log_probs0,
              b_log_probs1,
          ) = b._outcome_log_probs()  # pylint: disable=protected-access
          a_prob1 = tf.exp(a_log_probs1)
  
          return (1.0 - a_prob1) * (
              a_log_probs0 - b_log_probs0
          ) + a_prob1 * (a_log_probs1 - b_log_probs1)
  
imports: import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import sigmoid
  from tensorflow_probability.python.distributions import distribution
  from tensorflow_probability.python.distributions import kullback_leibler
  from tensorflow_probability.python.internal import assert_util
  from tensorflow_probability.python.internal import distribution_util
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import parameter_properties
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import reparameterization
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.internal import special_math
  from tensorflow_probability.python.internal import tensor_util
label_desc: Use image node_id 2 for calling a global function with example usage: _kl_bernoulli_bernoulli(a, b, name) and returns: unknown