code: def test_hmc_kernel_tracks_axis_names(self):
      kernel = phmc.PreconditionedHamiltonianMonteCarlo(
          normal.Normal(0, 1).log_prob,
          step_size=1.9,
          num_leapfrog_steps=2,
      )
      self.assertIsNone(kernel.experimental_shard_axis_names)
      kernel = phmc.PreconditionedHamiltonianMonteCarlo(
          normal.Normal(0, 1).log_prob,
          step_size=1.9,
          num_leapfrog_steps=2,
          experimental_shard_axis_names=["a"],
      )
      self.assertListEqual(kernel.experimental_shard_axis_names, ["a"])
      kernel = phmc.PreconditionedHamiltonianMonteCarlo(
          normal.Normal(0, 1).log_prob,
          step_size=1.9,
          num_leapfrog_steps=2,
      ).experimental_with_shard_axes(["a"])
      self.assertListEqual(kernel.experimental_shard_axis_names, ["a"])
  
imports: import collections
  from absl.testing import parameterized
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import reshape
  from tensorflow_probability.python.bijectors import scale
  from tensorflow_probability.python.distributions import distribution
  from tensorflow_probability.python.distributions import independent
  from tensorflow_probability.python.distributions import joint_distribution_sequential
  from tensorflow_probability.python.distributions import mvn_diag
  from tensorflow_probability.python.distributions import mvn_linear_operator
  from tensorflow_probability.python.distributions import mvn_tril
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.distributions import wishart
  from tensorflow_probability.python.experimental.distributions import mvn_precision_factor_linop
  from tensorflow_probability.python.experimental.mcmc import preconditioned_hmc
  from tensorflow_probability.python.internal import auto_composite_tensor
  from tensorflow_probability.python.internal import distribute_lib
  from tensorflow_probability.python.internal import distribute_test_lib
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.internal import unnest
  from tensorflow_probability.python.mcmc import diagnostic
  from tensorflow_probability.python.mcmc import dual_averaging_step_size_adaptation
  from tensorflow_probability.python.mcmc import sample
  from tensorflow_probability.python.mcmc import simple_step_size_adaptation
  from tensorflow_probability.python.mcmc import transformed_kernel
  from tensorflow_probability.python.mcmc.internal import leapfrog_integrator
  from tensorflow_probability.python.stats import sample_stats
label_desc: Use image node_id 1 for calling the DistributedPHMCTest obj's underlying member method code with example usage: obj.test_hmc_kernel_tracks_axis_names() without return types