code: def testSampleWithSampleShape(self):
      mu = self._rng.rand(3, 5, 2)
      chol, sigma = self._random_chol(3, 5, 2, 2)
  
      mvn = mvn_tril.MultivariateNormalTriL(
          mu, chol, validate_args=True
      )
      samples_val = self.evaluate(
          mvn.sample((10, 11, 12), seed=test_util.test_seed())
      )
  
      # Check sample shape
      self.assertEqual((10, 11, 12, 3, 5, 2), samples_val.shape)
  
      # Check sample means
      x = samples_val[:, :, :, 1, 1, :]
      self.assertAllClose(
          x.reshape(10 * 11 * 12, 2).mean(axis=0), mu[1, 1], atol=0.1
      )
  
      # Check that log_prob(samples) works
      log_prob_val = self.evaluate(mvn.log_prob(samples_val))
      x_log_pdf = log_prob_val[:, :, :, 1, 1]
      expected_log_pdf = stats.multivariate_normal(
          mean=mu[1, 1, :], cov=sigma[1, 1, :, :]
      ).logpdf(x)
      self.assertAllClose(expected_log_pdf, x_log_pdf)
  
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.bijectors import transform_diagonal
  from tensorflow_probability.python.distributions import kullback_leibler
  from tensorflow_probability.python.distributions import lognormal
  from tensorflow_probability.python.distributions import mvn_tril
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.internal import tensorshape_util
  from tensorflow_probability.python.internal import test_util
label_desc: Use image node_id 11 for calling the MultivariateNormalTriLTest obj's underlying member method code with example usage: obj.testSampleWithSampleShape() without return types