code: def chees_rate_criterion(
      previous_state,
      proposed_state,
      accept_prob,
      trajectory_length,
      validate_args=False,
      experimental_shard_axis_names=None,
      experimental_reduce_chain_axis_names=None,
  ):
      """ChEES rate criterion.
  
      This is just like `chees_criterion`, but normalized by the trajectory
      length:
      ```none
      ChEES rate = 1/4 E[(||x' - E[x]||**2 - ||x - E[x]||**2)**2 /
        trajectory_length]
      ```
  
      Args:
        previous_state: (Possibly nested) floating point `Tensor`. The previous
          state of the HMC chain.
        proposed_state: (Possibly nested) floating point `Tensor`. The proposed
          state of the HMC chain.
        accept_prob: Floating `Tensor`. Probability of acceping the proposed state.
        trajectory_length: Floating `Tensor`. Trajectory length.
        validate_args: Whether to perform non-static argument validation.
        experimental_shard_axis_names: A structure of string names indicating how
          members of the state are sharded.
        experimental_reduce_chain_axis_names: A string or list of string names
          indicating which named chain axes to reduce over when computing the
          criterion.
  
      Returns:
        chees_rate: The value of the ChEES rate criterion.
      """
      return (
          chees_criterion(
              previous_state=previous_state,
              proposed_state=proposed_state,
              accept_prob=accept_prob,
              trajectory_length=trajectory_length,
              validate_args=validate_args,
              experimental_shard_axis_names=experimental_shard_axis_names,
              experimental_reduce_chain_axis_names=experimental_reduce_chain_axis_names,
          )
          / trajectory_length
      )
  
imports: import collections
  import functools
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import assert_util
  from tensorflow_probability.python.internal import broadcast_util
  from tensorflow_probability.python.internal import distribute_lib
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.internal import unnest
  from tensorflow_probability.python.math import gradient
  from tensorflow_probability.python.mcmc import kernel
  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 util
  from tensorflow.python.util import nest
label_desc: Use image node_id 10 for calling a global function with example usage: chees_rate_criterion(previous_state, proposed_state, accept_prob, trajectory_length, validate_args, experimental_shard_axis_names, experimental_reduce_chain_axis_names) and returns: unknown