code: def test_default_kernels(self, shape, kernel):
      if kernel in [kernels.PeriodicBNN, kernels.MultiLayerBNN]:
          bnn = kernel(period=0.1, periodic_index=shape[-1] // 2)
      else:
          bnn = kernel()
      if isinstance(bnn, kernels.PolynomialBNN):
          self.assertIn("shift", bnn.distributions())
      elif isinstance(bnn, kernels.MultiLayerBNN):
          self.assertIn("dense_1", bnn.distributions())
      elif isinstance(bnn, kernels.IdentityBNN):
          pass
      else:
          self.assertIn("dense1", bnn.distributions())
      if not isinstance(bnn, kernels.IdentityBNN):
          self.assertIn("dense2", bnn.distributions())
      params = bnn.init(jax.random.PRNGKey(0), jnp.zeros(shape))
      lprior = bnn.log_prior(params)
      params2 = params
      if "params" in params2:
          params2 = params2["params"]
      params2["noise_scale"] = params2["noise_scale"] + 100.0
      lprior2 = bnn.log_prior(params2)
      self.assertLess(lprior2, lprior)
      output = bnn.apply(params, jnp.ones(shape))
      self.assertEqual(shape[:-1] + (1,), output.shape)
  
imports: from absl.testing import parameterized
  import jax
  import jax.numpy
  import numpy
  from tensorflow_probability.python.experimental.autobnn import kernels
  from tensorflow_probability.python.experimental.autobnn import util
  from tensorflow_probability.substrates.jax.distributions import lognormal
  from absl.testing import absltest
label_desc: Use image node_id 1 for calling the KernelsTest obj's underlying member method code with example usage: obj.test_default_kernels(shape, kernel) without return types