code: def testInvalidNegativeMultinomialDistribution(self):
      source_tensor = np.array([[1, 0, 0], [-0.1, 0.3, 0.8]])
      target_tensor = np.array([[1, 0, 0], [0.1, 0.9, 0]])
      with self.cached_session():
          with self.assertRaises(tf.errors.InvalidArgumentError):
              distance_tensor = distances.kl_divergence(
                  source_tensor, target_tensor, axis=-1
              )
              distance_tensor.eval()
          with self.assertRaises(tf.errors.InvalidArgumentError):
              distance_tensor = distances.jensen_shannon_divergence(
                  source_tensor, target_tensor, axis=-1
              )
              distance_tensor.eval()
  
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 7 for calling the DistancesTest obj's underlying member method code with example usage: obj.testInvalidNegativeMultinomialDistribution() without return types