code: def testGeneralizedNormalMeanAndMode(self):
      # loc will be broadcast to [[7, 7, 7], [7, 7, 7], [7, 7, 7]].
      loc = [7.0]
      scale = [11.0, 12.0, 13.0]
      power = [[1.0], [2.0], [3.0]]
  
      gnormal = generalized_normal.GeneralizedNormal(
          loc=self.make_input(loc),
          scale=self.make_input(scale),
          power=self.make_input(power),
          validate_args=True,
      )
  
      self.assertAllEqual((3, 3), gnormal.mean().shape)
      self.assertAllEqual(
          [[7, 7, 7.0], [7, 7.0, 7.0], [7.0, 7.0, 7.0]],
          self.evaluate(gnormal.mean()),
      )
  
      self.assertAllEqual((3, 3), gnormal.mode().shape)
      self.assertAllEqual(
          [[7, 7, 7.0], [7, 7.0, 7], [7.0, 7, 7]],
          self.evaluate(gnormal.mode()),
      )
  
imports: import math
  import numpy
  from scipy import stats
  from scipy.special import gamma
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import generalized_normal
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import gradient
label_desc: Use image node_id 14 for calling the _GeneralizedNormalTest obj's underlying member method code with example usage: obj.testGeneralizedNormalMeanAndMode() without return types