code: def test_kl_divergence(self):
      a, b = normal.Normal(1.0, 2.0), normal.Normal(3.0, 1.0)
      ta, tb = jit_public_methods.JitPublicMethods(
          a
      ), jit_public_methods.JitPublicMethods(b)
      kl_a_b = a.kl_divergence(b)
      self.assertAllClose(kl_a_b, a.kl_divergence(tb))
      self.assertAllClose(kl_a_b, ta.kl_divergence(b))
      self.assertAllClose(kl_a_b, ta.kl_divergence(tb))
  
imports: import types
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import invert
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.distributions import transformed_distribution
  from tensorflow_probability.python.distributions import uniform
  from tensorflow_probability.python.experimental.util import jit_public_methods
  from tensorflow_probability.python.internal import test_util
  from tensorflow.python.ops import control_flow_util
label_desc: Use image node_id 4 for calling the TracedPublicMethodsTest obj's underlying member method code with example usage: obj.test_kl_divergence() without return types