class_docstr: Interface for the core of encoding logic.
  
  This core interface should support encoding being executed in a variety of
  contexts. For instance,
  * Both encoding and decoding can happen in the same location, such as for
    experimental evaluation of efficiency.
  * Both encoding and decoding can happen in different locations, but run in the
    same `Session`, such as distributed datacenter training.
  * Encoding and decoding can happen in multiple locations, and communication
    between them needs to happen outside of `TensorFlow`, such as compressing
    a state of a model which is sent to a mobile device to be later used for
    inference.
  
  This interface is designed such that its implementer need not worry about the
  potential communication patterns, and the implementation will support all.
  
  Each implementation of this interface is supposed to be a relatively
  elementary transformation. In particular, it does not need to realize any
  representation savings by itself. Instead, a particular compositions of these
  elementary transformations will realize the desired savings. These
  compositions are realized by the `Encoder` class.
  
  Each implementation should also be wrapped by `tf_style_encoding_stage` to
  ensure adherence to the TensorFlow style guide. The adherence is enforced by
  the `BaseEncodingStageTest` test class. See `test_utils.py` for more details.
  
  For an adaptive version with a broader interface, see
  `AdaptiveEncodingStageInterface`.
docstr: Whether original shape of the encoded object is needed for decoding.
  
  Iff `True`, it means that the `shape` of the `x` argument to the `encode`
  method needs to be provided to the `decode` method. For instance, this is
  needed for bitpacking, where inputs of multiple shapes can result in
  identical bitpacked representations. Note however, the shape information
  should not be stored in the return structure of the `encode` method.
  
  This property will be used by `Encoder` to efficiently realize the
  composition of implementations of this interface, and to make the necessary
  shape information available.
docstr_tok: ["Whether","original","shape","of","the","encoded","object","is","needed","for","decoding",".","Iff","`","True","`",",","it","means","that","the","`","shape","`","of","the","`","x","`","argument","to","the","`","encode","`","method","needs","to","be","provided","to","the","`","decode","`","method",".","For","instance",",","this","is","needed","for","bitpacking",",","where","inputs","of","multiple","shapes","can","result","in","identical","bitpacked","representations",".","Note","however",",","the","shape","information","should","not","be","stored","in","the","return","structure","of","the","`","encode","`","method",".","This","property","will","be","used","by","`","Encoder","`","to","efficiently","realize","the","composition","of","implementations","of","this","interface",",","and","to","make","the","necessary","shape","information","available","."]
code: def decode_needs_input_shape(self):
      """Whether original shape of the encoded object is needed for decoding.
  
      Iff `True`, it means that the `shape` of the `x` argument to the `encode`
      method needs to be provided to the `decode` method. For instance, this is
      needed for bitpacking, where inputs of multiple shapes can result in
      identical bitpacked representations. Note however, the shape information
      should not be stored in the return structure of the `encode` method.
  
      This property will be used by `Encoder` to efficiently realize the
      composition of implementations of this interface, and to make the necessary
      shape information available.
      """
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import abc
  import enum
  import six
  import tensorflow
label_desc: Use image node_id 4 for calling the EncodingStageInterface obj's underlying member method code with example usage: obj.decode_needs_input_shape() without return types