code: def __init__(self, functions_ranks, config=None, training=True):
      super(QuantizeNonQNNToRecordingModifier, self).__init__()
      self._config = config
      self._fct_bin_set = {
          "Add2": F.add2,
          "Sub2": F.sub2,
          "Mul2": F.mul2,
          "Div2": F.div2,
          "Pow2": F.pow2,
      }
      self._training = training
  
      # Dict to record the rank of each function
      self.functions_ranks = functions_ranks
  
imports: import nnabla
  import nnabla.functions
  import numpy
  from collections import defaultdict
  from .graph_converter import FunctionModifier
  from .batch_normalization_folding import BatchNormalizationFoldingModifier
  from .batch_normalization_self_folding import BatchNormalizationSelfFoldingModifier
  from .remove_function import RemoveFunctionModifier
label_desc: Use image node_id 1 to create a new QuantizeNonQNNToRecordingModifier object from inherited base classes: FunctionModifier with example: obj = QuantizeNonQNNToRecordingModifier(functions_ranks, config, training)