class_docstr: Class for composing individual encoding stages.
  
  This class provides functionality for arbitrarily composing individual
  encoding stages (implementations of `EncodingStageInterface` or
  `AdaptiveEncodingStageInterface`) into a tree, where an output `Tensor` of an
  encoding stage can be further encoded by another encoding stage.
  
  The interface is similar to that of `AdaptiveEncodingStageInterface`, with the
  additional methods `decode_before_sum` and `decode_after_sum`. These methods
  split the decoding functionality to two parts, based on commutativity with
  summation.
  
  Similar to the `AdaptiveEncodingStageInterface`, the methods are designed to
  be functional transformations. That means, for instance, that the
  `initial_state` and `update_state` methods do not modify any underlying state.
  Rather, the user of the `Encoder` class is responsible for storing any values
  if necessary, and providing them back to appropriate methods of this class.
docstr: State aggregation modes of the Encoder.
  
  Returns:
    An object of the same structure as `state_update_tensors` returned by the
    `encode` method, with values replaced by their corresponding
    `StateAggregationMode` keys.
docstr_tok: ["State","aggregation","modes","of","the","Encoder",".","Returns",":","An","object","of","the","same","structure","as","`","state_update_tensors","`","returned","by","the","`","encode","`","method",",","with","values","replaced","by","their","corresponding","`","StateAggregationMode","`","keys","."]
code: def state_update_aggregation_modes(self):
      """State aggregation modes of the Encoder.
  
      Returns:
        An object of the same structure as `state_update_tensors` returned by the
        `encode` method, with values replaced by their corresponding
        `StateAggregationMode` keys.
      """
      children_aggregation_modes = {}
      for key, encoder in six.iteritems(self.children):
          children_aggregation_modes[
              key
          ] = encoder.state_update_aggregation_modes
      return {
          EncoderKeys.CHILDREN: children_aggregation_modes,
          EncoderKeys.TENSORS: self.stage.state_update_aggregation_modes,
      }
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import six
  import tensorflow
  from tensorflow_model_optimization.python.core.internal.tensor_encoding.core import encoding_stage
  from tensorflow_model_optimization.python.core.internal.tensor_encoding.utils import py_utils
label_desc: Use image node_id 5 for calling the Encoder obj's underlying member method code with example usage: obj.state_update_aggregation_modes() and returns: dict