class_docstr: Model exporter exports a PyTorch model to Caffe2 model using ONNX
  
  Attributes:
      input_names (List[Str]): names of the input variables to model forward
          function, in a flattened way.
          e.g: forward(tokens, dict) where tokens is List[Tensor] and dict is
          a tuple of value and length: (List[Tensor], List[Tensor]) the
          input names should looks like ['token', 'dict_value', 'dict_length']
      dummy_model_input (Tuple[torch.Tensor]): dummy values to define the
          shape of input tensors, should exactly match the shape of the model
          forward function
      vocab_map (Dict[str, List[str]]): dict of input feature names
          to corresponding index_to_string array, e.g:
          ::
  
              {
                  "text": ["<UNK>", "W1", "W2", "W3", "W4", "W5", "W6", "W7", "W8"],
                  "dict": ["<UNK>", "D1", "D2", "D3", "D4", "D5", "D6", "D7", "D8"]
              }
      output_names (List[Str]): names of output variables
docstr: Prepend operators to the converted caffe2 net, do nothing by default
  
  Args:
      c2_prepared (Caffe2Rep): caffe2 net rep
      input_names (List[str]): current input names to the caffe2 net
  
  Returns:
      c2_prepared (Caffe2Rep): caffe2 net with prepended operators
      input_names (List[str]): list of input names for the new net
docstr_tok: ["Prepend","operators","to","the","converted","caffe2","net",",","do","nothing","by","default","Args",":","c2_prepared","(","Caffe2Rep",")",":","caffe2","net","rep","input_names","(","List","[","str","]",")",":","current","input","names","to","the","caffe2","net","Returns",":","c2_prepared","(","Caffe2Rep",")",":","caffe2","net","with","prepended","operators","input_names","(","List","[","str","]",")",":","list","of","input","names","for","the","new","net"]
code: def prepend_operators(
      self, c2_prepared: Caffe2Rep, input_names: List[str]
  ) -> Tuple[Caffe2Rep, List[str]]:
      """
      Prepend operators to the converted caffe2 net, do nothing by default
  
      Args:
          c2_prepared (Caffe2Rep): caffe2 net rep
          input_names (List[str]): current input names to the caffe2 net
  
      Returns:
          c2_prepared (Caffe2Rep): caffe2 net with prepended operators
          input_names (List[str]): list of input names for the new net
      """
      return onnx.add_feats_numericalize_ops(
          c2_prepared, self.vocab_map, input_names
      )
  
imports: import tempfile
  from typing import Callable, Dict, List, Tuple, Union
  import torch
  from caffe2.python import core
  from caffe2.python.onnx.backend_rep import Caffe2Rep
  from pytext.config import ConfigBase
  from pytext.config.component import Component, ComponentType
  from pytext.config.field_config import FeatureConfig
  from pytext.data import CommonMetadata
  from pytext.fields import FieldMeta
  from pytext.utils import onnx
  from pytext.utils.file_io import PathManager
  from pytext.utils.usage import log_class_usage
label_desc: Use image node_id 4 for calling the ModelExporter obj's underlying member method code with example usage: obj.prepend_operators(c2_prepared, input_names) and returns: onnx