code: def test_log_prob_ratio(self):
      p = markov_chain_lib.MarkovChain(
          initial_state_prior=normal.Normal(0.0, 1.0),
          transition_fn=lambda _, x: normal.Normal(
              x, tf.nn.softplus(x)
          ),
          num_steps=10,
      )
      q = markov_chain_lib.MarkovChain(
          initial_state_prior=normal.Normal(-10, 3.0),
          transition_fn=lambda _, x: normal.Normal(x, tf.abs(x)),
          num_steps=10,
      )
      x = self.evaluate(p.sample(4, seed=test_util.test_seed()))
      y = self.evaluate(q.sample(4, seed=test_util.test_seed()))
      self.assertAllClose(
          p.log_prob(x) - q.log_prob(y),
          log_prob_ratio.log_prob_ratio(p, x, q, y),
          atol=1e-5,
      )
  
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 7 for calling the MarkovChainTest obj's underlying member method code with example usage: obj.test_log_prob_ratio() without return types