code: def test_chunked_high_rank_running_covariance(self):
      rng = test_util.test_np_rng()
      x = rng.rand(100, 2, 3, 5)
      cov = sample_stats.RunningCovariance.from_shape((3, 5))
      cov = consume(cov, x, chunk_axis=0)
      final_mean, final_cov = self.evaluate(
          [cov.mean, cov.covariance()]
      )
      self.assertAllClose(
          np.mean(x.reshape((200, 3, 5)), axis=0), final_mean, rtol=1e-5
      )
      self.assertEqual(final_cov.shape, (3, 5, 3, 5))
  
      # reshaping to be compatible with a check against numpy
      x_reshaped = x.reshape(200, 15)
      final_cov_reshaped = tf.reshape(final_cov, (15, 15))
      self.assertAllClose(
          np.cov(x_reshaped.T, ddof=0), final_cov_reshaped, rtol=1e-5
      )
  
imports: from absl.testing import parameterized
  import numpy
  import scipy.stats
  import tensorflow.compat.v2
  from tensorflow_probability.python.experimental.stats import sample_stats
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.mcmc import diagnostic
label_desc: Use image node_id 7 for calling the RunningCovarianceTest obj's underlying member method code with example usage: obj.test_chunked_high_rank_running_covariance() without return types