class_docstr: Represent modifications to inference graph for weight compression.
class_docstr_tok: ["Represent","modifications","to","inference","graph","for","weight","compression","."]
code: def call(self, inputs, training=None):
      for attr_name in self.training_tensors:
          # TODO(tfmot): understand how read_value() is converted to
          # inference in TensorFlow Lite.
          compressed_weight_tensors = []
          for v in self.compressed_weights[attr_name]:
              compressed_weight_tensors.append(
                  _prevent_constant_folding(v.read_value(), inputs)
              )
          weight_tensor = self.algorithm.decompress_weights(
              *compressed_weight_tensors
          )
          setattr(self.layer, attr_name, weight_tensor)
  
      # TODO(tfmot): handle training arg if needed given this is inference only.
      return self.layer.call(inputs)
  
imports: from typing import List, Mapping
  import tensorflow
label_desc: Use image node_id 4 for calling the _InferenceWrapper obj's underlying member method code with example usage: obj.call(inputs, training) and returns: self