code: def testShape(self):
      k1 = exponentiated_quadratic.ExponentiatedQuadratic(
          amplitude=np.ones([3]), length_scale=np.ones([2, 1])
      )
      k2 = matern.MaternFiveHalves(
          amplitude=np.ones([5, 1, 1]),
          length_scale=np.ones([2, 1, 1, 1]),
      )
      k3 = exponentiated_quadratic.ExponentiatedQuadratic(
          amplitude=np.ones([3, 1, 1, 1, 1]),
          length_scale=np.ones([2, 1, 1, 1, 1, 1]),
      )
      locs = np.ones([2, 1, 2])
      slopes = np.ones([1, 3, 2])
      weight_fn = lambda x, f: tf.linalg.norm(x, axis=-1)
      k = changepoint.ChangePoint(
          [k1, k2, k3], locs=locs, slopes=slopes, weight_fn=weight_fn
      )
  
      batch_shape = [2, 3, 2, 5, 2, 3]
  
      self.assertIs(weight_fn, k.weight_fn)
      self.assertAllEqual(batch_shape, k.batch_shape)
      self.assertAllEqual(
          batch_shape, self.evaluate(k.batch_shape_tensor())
      )
  
      x = np.ones([7, 3])
      y = np.ones([11, 3])
  
      self.assertAllEqual(batch_shape + [7, 11], k.matrix(x, y).shape)
      self.assertAllEqual(
          batch_shape + [7, 11],
          k.matrix(tf.stack([x] * 3), tf.stack([y] * 3)).shape,
      )
  
file_path: probability/tensorflow_probability/python/math/psd_kernels/changepoint_test.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math.psd_kernels import changepoint
  from tensorflow_probability.python.math.psd_kernels import exponentiated_quadratic
  from tensorflow_probability.python.math.psd_kernels import matern
label_desc: Use image node_id 1 for calling the ChangePointTest obj's underlying member method code with example usage: obj.testShape() without return types