code: def testKLDivergence(self):
      source_tensor = np.array([[1, 0, 0], [0.1, 0.2, 0.7]])
      target_tensor = np.array([[1, 0, 0], [0.1, 0.9, 0]])
  
      expected_tensor = np.sum(
          self._kl_func(source_tensor, target_tensor), -1
      )
      expected_value = np.mean(expected_tensor)
      distance_tensor = distances.kl_divergence(
          source_tensor, target_tensor, axis=-1
      )
      with self.cached_session() as sess:
          distance_value = sess.run(distance_tensor)
          self.assertAllClose(distance_value, expected_value)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import neural_structured_learning.configs
  from neural_structured_learning.lib import distances
  import numpy
  import tensorflow
label_desc: Use image node_id 4 for calling the DistancesTest obj's underlying member method code with example usage: obj.testKLDivergence() without return types