class_docstr: This is a base class used to create Caffe2 operator benchmark
class_docstr_tok: ["This","is","a","base","class","used","to","create","Caffe2","operator","benchmark"]
docstr: this is a globally unique name which can be used to
  label a specific test
docstr_tok: ["this","is","a","globally","unique","name","which","can","be","used","to","label","a","specific","test"]
code: def test_name(self, name_type="long", **kargs):
      """this is a globally unique name which can be used to
      label a specific test
      """
      if name_type == "long":
          test_name_str = []
          for key in kargs:
              value = kargs[key]
              test_name_str.append(key + self._value_to_str(value))
          name = (
              self.module_name() + "_" + "_".join(test_name_str)
          ).replace(" ", "")
      elif name_type == "short":
          # this is used to generate test name based on unique index
          name = "_".join(
              [
                  self.module_name(),
                  "test",
                  str(Caffe2BenchmarkBase.test_index),
              ]
          )
          Caffe2BenchmarkBase.test_index += 1
      return name
  
imports: from collections import namedtuple
  import benchmark_utils
  from benchmark_test_generator import _register_test
  from caffe2.proto import caffe2_pb2
  from caffe2.python import core, workspace
  from .benchmark_core import TestConfig
label_desc: Use image node_id 9 for calling the Caffe2BenchmarkBase obj's underlying member method code with example usage: obj.test_name(name_type) and returns: name