code: def _get_window_sizes(num_adaptation_steps):
      """Hardcoded way to get a reasonable scheme.
  
      This assumes we do something proportional to
  
      fast window: 75 steps
      slow window: 25 steps
      slow window: 50 steps
      slow window: 100 steps
      slow window: 200 steps
      fast window: 50 steps
  
      Which is a total of 500 steps.
  
      Args:
        num_adaptation_steps: int Number of adaptation steps to run.
  
      Returns:
        The first window size, the initial slow window size, the last window size.
      """
      slow_window_size = num_adaptation_steps // 20
      first_window_size = 3 * slow_window_size
      last_window_size = (
          num_adaptation_steps
          - 15 * slow_window_size
          - first_window_size
      )
      return first_window_size, slow_window_size, last_window_size
  
imports: import collections
  import functools
  import warnings
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import chain
  from tensorflow_probability.python.bijectors import invert
  from tensorflow_probability.python.bijectors import joint_map
  from tensorflow_probability.python.bijectors import reshape
  from tensorflow_probability.python.bijectors import restructure
  from tensorflow_probability.python.experimental.mcmc import diagonal_mass_matrix_adaptation
  from tensorflow_probability.python.experimental.mcmc import initialization
  from tensorflow_probability.python.experimental.mcmc import preconditioned_hmc
  from tensorflow_probability.python.experimental.mcmc import preconditioned_nuts
  from tensorflow_probability.python.experimental.mcmc import preconditioning_utils
  from tensorflow_probability.python.experimental.mcmc import sharded
  from tensorflow_probability.python.experimental.stats import sample_stats
  from tensorflow_probability.python.internal import nest_util
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.internal import tensorshape_util
  from tensorflow_probability.python.internal import unnest
  from tensorflow_probability.python.math import generic
  from tensorflow_probability.python.mcmc import dual_averaging_step_size_adaptation
  from tensorflow_probability.python.mcmc import kernel
  from tensorflow_probability.python.mcmc import sample
  from tensorflow_probability.python.mcmc.internal import util
  from tensorflow.python.ops import control_flow_util
  from tensorflow.python.util import nest
label_desc: Use image node_id 8 for calling a global function with example usage: _get_window_sizes(num_adaptation_steps) and returns: first_window_size,  slow_window_size,  last_window_size