code: def test_docstring_example_gaussian_walk(self):
      gaussian_walk = markov_chain_lib.MarkovChain(
          initial_state_prior=normal.Normal(loc=0.0, scale=1.0),
          transition_fn=lambda _, x: normal.Normal(loc=x, scale=1.0),
          num_steps=100,
      )
      self.assertAllEqual(gaussian_walk.event_shape, [100])
      self.assertAllEqual(gaussian_walk.batch_shape, [])
  
      x = gaussian_walk.sample(5, seed=test_util.test_seed())
      self.assertAllEqual(x.shape, [5, 100])
      lp = gaussian_walk.log_prob(x)
      self.assertAllEqual(lp.shape, [5])
  
      n = normal.Normal(0.0, 1.0)
      expected_lp = n.log_prob(x[:, 0]) + tf.reduce_sum(
          n.log_prob(x[:, 1:] - x[:, :-1]), axis=-1
      )
      self.assertAllClose(lp, expected_lp)
  
      x2, lp2 = gaussian_walk.experimental_sample_and_log_prob(
          [2], seed=test_util.test_seed()
      )
      self.assertAllClose(lp2, gaussian_walk.log_prob(x2))
  
imports: from absl.testing import parameterized
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import reshape
  from tensorflow_probability.python.bijectors import split
  from tensorflow_probability.python.distributions import deterministic
  from tensorflow_probability.python.distributions import dirichlet
  from tensorflow_probability.python.distributions import exponential
  from tensorflow_probability.python.distributions import gamma
  from tensorflow_probability.python.distributions import independent
  from tensorflow_probability.python.distributions import inverse_gamma
  from tensorflow_probability.python.distributions import joint_distribution_auto_batched
  from tensorflow_probability.python.distributions import joint_distribution_named
  from tensorflow_probability.python.distributions import linear_gaussian_ssm
  from tensorflow_probability.python.distributions import log_prob_ratio
  from tensorflow_probability.python.distributions import markov_chain
  from tensorflow_probability.python.distributions import mvn_diag
  from tensorflow_probability.python.distributions import mvn_tril
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.distributions import uniform
  from tensorflow_probability.python.distributions import wishart
  from tensorflow_probability.python.internal import prefer_static
  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 MarkovChainTest obj's underlying member method code with example usage: obj.test_docstring_example_gaussian_walk() without return types