class_docstr: Well tested because this is a simple override of the base class.
code: def testKLDivIdenticalGradientDefined(self):
      dims = 3
      loc = tf.zeros([dims], dtype=tf.float32)
  
      def self_kl_divergence(loc):
          mvn = mvn_diag.MultivariateNormalDiag(
              loc=loc,
              scale_diag=np.ones([dims], dtype=np.float32),
              validate_args=True,
          )
          return kullback_leibler.kl_divergence(mvn, mvn)
  
      _, gradients = self.evaluate(
          gradient.value_and_gradient(self_kl_divergence, loc)
      )
      self.assertAllEqual(
          np.ones_like(gradients, dtype=np.bool_),
          np.isfinite(gradients),
      )
  
imports: import os
  from absl.testing import parameterized
  import numpy
  from scipy import stats
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import softplus
  from tensorflow_probability.python.distributions import kullback_leibler
  from tensorflow_probability.python.distributions import lognormal
  from tensorflow_probability.python.distributions import mvn_diag
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.distributions import transformed_distribution
  from tensorflow_probability.python.internal import tensorshape_util
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import gradient
label_desc: Use image node_id 17 for calling the MultivariateNormalDiagTest obj's underlying member method code with example usage: obj.testKLDivIdenticalGradientDefined() and returns: kullback_leibler