code: def _kl_bernoulli_bernoulli(a, b, name=None):
      """Calculate the batched KL divergence KL(a || b) with a and b Bernoulli.
  
      Args:
        a: instance of a Bernoulli distribution object.
        b: instance of a Bernoulli distribution object.
        name: (optional) Name to use for created operations.
          default is "kl_bernoulli_bernoulli".
  
      Returns:
        Batchwise KL(a || b)
      """
      with ops.name_scope(
          name, "kl_bernoulli_bernoulli", values=[a.logits, b.logits]
      ):
          delta_probs0 = nn.softplus(-b.logits) - nn.softplus(-a.logits)
          delta_probs1 = nn.softplus(b.logits) - nn.softplus(a.logits)
          return (
              math_ops.sigmoid(a.logits) * delta_probs0
              + math_ops.sigmoid(-a.logits) * delta_probs1
          )
  
imports: from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import tensor_shape
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import nn
  from tensorflow.python.ops import random_ops
  from tensorflow.python.ops.distributions import distribution
  from tensorflow.python.ops.distributions import kullback_leibler
  from tensorflow.python.ops.distributions import util
  from tensorflow.python.util import deprecation
  from tensorflow.python.util.tf_export import tf_export
label_desc: Use image node_id 1 for calling a global function with example usage: _kl_bernoulli_bernoulli(a, b, name) and returns: unknown