code: def modify(self, f, inputs):
      if not self.check(f):
          return  # Skip modify this function
  
      fn = f.info.type_name
      cfg = self._config
      axes = [3] if cfg.channel_last else [1]
      recorder_activation = cfg.recorder_activation
  
      # Add recorder for each input
      new_inputs = self.add_recorder(f, inputs, cfg)
      new_inputs = self.share_recorder(f, inputs, new_inputs, cfg)
  
      h = self._modify_as_same(f, new_inputs)
  
      # Add recorder before/after a function
      next_func = f.outputs[0].function_references[0]
      next_func_rank = self.get_function_rank(next_func)
      scope = "{}-{}".format(next_func.info.type_name, next_func_rank)
      with nn.parameter_scope(scope):
          if cfg.recorder_position == cfg.RecorderPosition.BOTH:
              h = recorder_activation()(
                  h, axes=axes, training=self._training, name="x0"
              )
      return h
  
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 6 for calling the QuantizeNonQNNToRecordingModifier obj's underlying member method code with example usage: obj.modify(f, inputs) and returns: h