class_docstr: Facade around outputs of `step_kernel`.
  
  Processes results and extracts useful data for analysis and further sampling.
docstr: Construct `KernelOutputs`.
  
  This processes the results, including calling `finalize` on all reductions.
  
  Args:
    kernel: The `TransitionKernel` which generated the outputs.
    state: The final chain state as returned by `step_kernel`.
    results: The final kernel results as returned by `step_kernel`.
code: def __init__(self, kernel, state, results):
      """Construct `KernelOutputs`.
  
      This processes the results, including calling `finalize` on all reductions.
  
      Args:
        kernel: The `TransitionKernel` which generated the outputs.
        state: The final chain state as returned by `step_kernel`.
        results: The final kernel results as returned by `step_kernel`.
      """
      # parameters
      self.kernel = kernel
      self.current_state = state
      self.results = results
      # derived goodness
      self.reductions = self.all_states = self.trace = None
      self.new_step_size = None
      # go!
      self._process_results()
  
file_path: probability/tensorflow_probability/python/experimental/mcmc/kernel_outputs.py
imports: import tensorflow.compat.v2
  from tensorflow_probability.python.experimental.mcmc import tracing_reducer
  from tensorflow_probability.python.internal import unnest
  from tensorflow.python.util import nest
label_desc: Use image node_id 1 to create a new KernelOutputs object  with example: obj = KernelOutputs(kernel, state, results)