code: def testAssertsValidMutableParams(self):
      mean_direction = tf.Variable(
          tf.math.l2_normalize([1.0, 2, 3], axis=-1)
      )
      concentration = tf.Variable(1.0)
      pspherical = power_spherical.PowerSpherical(
          mean_direction=mean_direction,
          concentration=concentration,
          validate_args=True,
          allow_nan_stats=False,
      )
  
      self.evaluate(
          [mean_direction.initializer, concentration.initializer]
      )
      self.evaluate(concentration.assign(-1.0))
      with self.assertRaisesOpError(
          "`concentration` must be non-negative"
      ):
          self.evaluate(pspherical.mean())
  
      self.evaluate(
          (
              concentration.assign(1.0),
              mean_direction.assign([1.0, 2.0, 3.0]),
          )
      )
      with self.assertRaisesOpError(
          "`mean_direction` must be unit-length"
      ):
          self.evaluate(pspherical.mean())
  
      mean_direction = tf.Variable([1.0])
      with self.assertRaisesOpError(
          "`mean_direction` must be a vector of at least size 2"
      ):
          pspherical = power_spherical.PowerSpherical(
              mean_direction=mean_direction,
              concentration=concentration,
              validate_args=True,
              allow_nan_stats=False,
          )
          self.evaluate(mean_direction.initializer)
          self.evaluate(pspherical.mean())
  
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 23 for calling the _PowerSphericalTest obj's underlying member method code with example usage: obj.testAssertsValidMutableParams() without return types