code: def testSampleMeanDir3d(self):
      mean_dirs = tf.math.l2_normalize(
          np.array([[1.0, 2, 3], [-2, -3, -1]], dtype=self.dtype),
          axis=-1,
      )
      concentration = np.array(
          [[0], [0.1], [2], [40], [1000]], dtype=self.dtype
      )
      self.VerifySampleMean(mean_dirs, concentration, [5, 2])
  
imports: import numpy
  from scipy import special
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import kullback_leibler
  from tensorflow_probability.python.distributions import power_spherical
  from tensorflow_probability.python.distributions import spherical_uniform
  from tensorflow_probability.python.distributions import von_mises_fisher
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import tensorshape_util
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.stats import sample_stats
label_desc: Use image node_id 4 for calling the _PowerSphericalTest obj's underlying member method code with example usage: obj.testSampleMeanDir3d() without return types