code: def testReparameterizationGradientsNormalMatrixComponents(self):
      def mixture_func(logits, loc, scale):
          return mixture_same_family.MixtureSameFamily(
              mixture_distribution=categorical.Categorical(
                  logits=logits
              ),
              components_distribution=independent.Independent(
                  normal.Normal(loc=loc, scale=scale),
                  reinterpreted_batch_ndims=2,
              ),
              reparameterize=True,
              validate_args=True,
          )
  
      for function in ["mean", "variance"]:
          self._testMixtureReparameterizationGradients(
              mixture_func,
              [
                  self._build_tensor([0.7, 0.2, 0.1]),  # logits
                  self._build_tensor(
                      [[[-1.0, 1]], [[0.5, -1]], [[-1.0, 0.5]]]
                  ),  # mean
                  # scale
                  self._build_tensor(
                      [[[0.1, 0.5]], [[0.3, 0.5]], [[0.2, 0.3]]]
                  ),
              ],
              function,
              num_samples=50000,
          )
  
imports: import numpy
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import bernoulli
  from tensorflow_probability.python.distributions import categorical
  from tensorflow_probability.python.distributions import dirichlet
  from tensorflow_probability.python.distributions import exponential
  from tensorflow_probability.python.distributions import independent
  from tensorflow_probability.python.distributions import logistic
  from tensorflow_probability.python.distributions import mixture_same_family
  from tensorflow_probability.python.distributions import mvn_diag
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.internal import hypothesis_testlib
  from tensorflow_probability.python.internal import samplers
  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 20 for calling the _MixtureSameFamilyTest obj's underlying member method code with example usage: obj.testReparameterizationGradientsNormalMatrixComponents() and returns: mixture_same_family