code: def test_cold_start(self):
      fake_inner_kernel = test_fixtures.TestTransitionKernel()
      discarder = sample_discarding_kernel.SampleDiscardingKernel(
          fake_inner_kernel,
          num_burnin_steps=10,
          num_steps_between_results=1,
      )
      seed1, seed2 = samplers.split_seed(
          test_util.test_seed(sampler_type="stateless")
      )
      first_state, _ = discarder.one_step(
          0.0, discarder.bootstrap_results(0.0), seed=seed1
      )
      second_state, kernel_results = discarder.one_step(
          first_state,
          discarder.bootstrap_results(first_state),
          seed=seed2,
      )
      first_state, second_state, kernel_results = self.evaluate(
          [first_state, second_state, kernel_results]
      )
      # the first `one_step` performs burn-in and thinning to skip
      # `num_burnin_steps` + `num_steps_between_results` samples
      self.assertEqual(12, first_state)
      # the step count is stored in the kernel results. Cold
      # restarting resets the count back to 0 and hence, both
      # thinning and burn-in are once again performed.
      self.assertEqual(24, second_state)
      self.assertEqual(1, kernel_results.call_counter)
      self.assertEqual(12, kernel_results.inner_results.counter_1)
      self.assertEqual(24, kernel_results.inner_results.counter_2)
  
imports: import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.experimental.mcmc import covariance_reducer
  from tensorflow_probability.python.experimental.mcmc import sample_discarding_kernel
  from tensorflow_probability.python.experimental.mcmc import with_reductions
  from tensorflow_probability.python.experimental.mcmc.internal import test_fixtures
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.internal import test_util
label_desc: Use image node_id 5 for calling the SampleDiscardingTest obj's underlying member method code with example usage: obj.test_cold_start() without return types