code: def _add_ops(self, net, version="fp32", is_train=True):
      if self.evicted_values and is_train:
          net.CopyRowsToTensor(
              [self.w, self.evicted_values.get(), self.reinit_vec],
              [self.w],
          )
      if _is_id_list(self.input_record):
          self._add_ops_id_list(net, version=version)
      elif _is_id_score_list(self.input_record):
          self._add_ops_id_score_list(net, version=version)
      else:
          raise "Unsupported input type {0}".format(self.input_record)
  
imports: from caffe2.python.optimizer import FP16_ENGINES, Optimizer
  from caffe2.python.helpers.arg_scope import get_current_scope
  from caffe2.python import schema
  from caffe2.python.layers.layers import get_categorical_limit, get_key, IdList, IdScoreList, IdListWithEvicted, IdScoreListWithEvicted, LayerPsParam, ModelLayer, almost_equal_schemas
  import collections
  import functools
  import logging
  import math
  import numpy
  import operator
label_desc: Use image node_id 11 for calling the SparseLookup obj's underlying member method code with example usage: obj._add_ops(net, version, is_train) without return types