class_docstr: Base class for all MCMC `Reducer`s.
  
  This class defines the minimal requirements to implement a Markov chain Monte
  Carlo (MCMC) reducer. A reducer updates a streaming computation by reducing
  new samples to a summary statistic. `Reducer`s can be defined to return "side
  information" if desired, but they do not remember state. Hence, reducers
  should be seen as objects that hold metadata (i.e. shape and dtype of
  incoming samples) and all reducer method calls must be coupled with a state
  object, as first returned by the `initialize` method.
docstr: Initializes a reducer state corresponding to the stream of no samples.
  
  This is an abstract method and must be overridden by subclasses.
  
  Args:
    initial_chain_state: `Tensor` or Python `list` of `Tensor`s representing
      the current state(s) of the Markov chain(s). This is to be used for
      any needed (shape, dtype, etc.) information, but should not be
      considered part of the stream being reduced.
    initial_inner_kernel_results: A (possibly nested) `tuple`, `namedtuple` or
      `list` of `Tensor`s representing internal calculations made in a related
      `TransitionKernel`. This allows for introspection of deeper layers of
      `TransitionKernel`s that have bearing to the nature of the initial
      reducer state.
  
  Returns:
    init_reducer_state: `tuple`, `namedtuple` or `list` of `Tensor`s
      representing the stream of no samples.
docstr_tok: ["Initializes","a","reducer","state","corresponding","to","the","stream","of","no","samples",".","This","is","an","abstract","method","and","must","be","overridden","by","subclasses",".","Args",":","initial_chain_state",":","`","Tensor","`","or","Python","`","list","`","of","`","Tensor","`","s","representing","the","current","state","(","s",")","of","the","Markov","chain","(","s",")",".","This","is","to","be","used","for","any","needed","(","shape",",","dtype",",","etc",".",")","information",",","but","should","not","be","considered","part","of","the","stream","being","reduced",".","initial_inner_kernel_results",":","A","(","possibly","nested",")","`","tuple","`",",","`","namedtuple","`","or","`","list","`","of","`","Tensor","`","s","representing","internal","calculations","made","in","a","related","`","TransitionKernel","`",".","This","allows","for","introspection","of","deeper","layers","of","`","TransitionKernel","`","s","that","have","bearing","to","the","nature","of","the","initial","reducer","state",".","Returns",":","init_reducer_state",":","`","tuple","`",",","`","namedtuple","`","or","`","list","`","of","`","Tensor","`","s","representing","the","stream","of","no","samples","."]
code: def initialize(
      self, initial_chain_state, initial_inner_kernel_results
  ):
      """Initializes a reducer state corresponding to the stream of no samples.
  
      This is an abstract method and must be overridden by subclasses.
  
      Args:
        initial_chain_state: `Tensor` or Python `list` of `Tensor`s representing
          the current state(s) of the Markov chain(s). This is to be used for
          any needed (shape, dtype, etc.) information, but should not be
          considered part of the stream being reduced.
        initial_inner_kernel_results: A (possibly nested) `tuple`, `namedtuple` or
          `list` of `Tensor`s representing internal calculations made in a related
          `TransitionKernel`. This allows for introspection of deeper layers of
          `TransitionKernel`s that have bearing to the nature of the initial
          reducer state.
  
      Returns:
        init_reducer_state: `tuple`, `namedtuple` or `list` of `Tensor`s
          representing the stream of no samples.
      """
  
imports: import abc
  import six
label_desc: Use image node_id 1 for calling the Reducer obj's underlying member method code with example usage: obj.initialize(initial_chain_state, initial_inner_kernel_results) without return types