code: def testKernelParametersBroadcast(self, feature_ndims, dims):
      # Batch shape [10, 2]
      amplitude = np.random.uniform(
          low=1.0, high=10.0, size=[10, 2]
      ).astype(self.dtype)
      length_scale = np.random.uniform(
          low=1.0, high=10.0, size=[1, 2]
      ).astype(self.dtype)
      kernel = exponentiated_quadratic.ExponentiatedQuadratic(
          amplitude, length_scale, feature_ndims=feature_ndims
      )
      input_shape = [dims] * feature_ndims
  
      # Batch shape [3, 1, 2].
      scale_diag = np.random.uniform(
          -1,
          1,
          size=(
              3,
              1,
              2,
              dims,
          ),
      ).astype(self.dtype)
  
      # Scaling the last dimension.
      def vector_transform(x, feature_ndims, param_expansion_ndims):
          diag = util.pad_shape_with_ones(
              scale_diag,
              param_expansion_ndims + feature_ndims - 1,
              start=-2,
          )
          return diag * x
  
      vector_transformed_kernel = (
          feature_transformed.FeatureTransformed(
              kernel, transformation_fn=vector_transform
          )
      )
  
      x = np.random.uniform(-1, 1, size=input_shape).astype(self.dtype)
      y = np.random.uniform(-1, 1, size=input_shape).astype(self.dtype)
  
      # Pad for each feature dimension.
      expanded_scale_diag = scale_diag
      for _ in range(feature_ndims - 1):
          expanded_scale_diag = expanded_scale_diag[..., None, :]
  
      self.assertAllClose(
          _numpy_exp_quad(
              amplitude,
              length_scale,
              expanded_scale_diag * x,
              expanded_scale_diag * y,
              feature_ndims=feature_ndims,
          ),
          self.evaluate(vector_transformed_kernel.apply(x, y)),
      )
  
      z = np.random.uniform(-1, 1, size=[10] + input_shape).astype(
          self.dtype
      )
  
      self.assertAllClose(
          _numpy_exp_quad_matrix(
              # We need to take in to account the event dimension.
              amplitude[..., None, None],
              length_scale[..., None, None],
              # Extra dimension for the event dimension.
              expanded_scale_diag[..., None, :] * z,
              feature_ndims=feature_ndims,
          ),
          self.evaluate(vector_transformed_kernel.matrix(z, z)),
      )
  
file_path: probability/tensorflow_probability/python/math/psd_kernels/feature_transformed_test.py
imports: from absl.testing import parameterized
  import numpy
  from tensorflow_probability.python.bijectors import scale
  from tensorflow_probability.python.bijectors import scale_matvec_diag
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math.psd_kernels import exponentiated_quadratic
  from tensorflow_probability.python.math.psd_kernels import feature_transformed
  from tensorflow_probability.python.math.psd_kernels.internal import util
label_desc: Use image node_id 4 for calling the _FeatureTransformedTest obj's underlying member method code with example usage: obj.testKernelParametersBroadcast(feature_ndims, dims) and returns: unknown