code: def __init__(self, net_def, model_conf):
      self.net_def = net_def
      self.model_conf = model_conf
      if (
          ModelKeys.quantize in model_conf
          and model_conf[ModelKeys.quantize] == 1
      ):
          self.default_data_type = mace_pb2.DT_UINT8
      else:
          self.default_data_type = mace_pb2.DT_FLOAT
      self._scratch_map = {
          MaceOp.Conv2D: self.scratch_size_conv,
          MaceOp.FullyConnected: self.scratch_size_no_need,
          MaceOp.Squeeze: self.scratch_size_of_squeeze,
          MaceOp.Softmax: self.scratch_size_no_need,
          MaceOp.Eltwise: self.scratch_size_eltwise,
          MaceOp.Activation: self.scratch_size_no_need,
          MaceOp.StridedSlice: self.scratch_size_no_need,
          MaceOp.Reduce: self.scratch_size_no_need,
          MaceOp.Stack: self.scratch_size_no_need,
          MaceOp.BiasAdd: self.scratch_size_no_need,
          MaceOp.BatchNorm: self.scratch_size_no_need,
          MaceOp.Shape: self.scratch_size_no_need,
          MaceOp.Reshape: self.scratch_size_of_reshape,
          MaceOp.ExpandDims: self.scratch_size_of_expand_dims,
          MaceOp.Concat: self.scratch_size_of_concat,
          MaceOp.MatMul: self.scratch_size_of_matmul,
          MaceOp.Pooling: self.scratch_size_of_pooling,
          MaceOp.DepthwiseConv2d: self.scratch_size_of_depthwise_conv,
          MaceOp.ArgMax: self.scratch_size_no_need,
          MaceOp.Cast: self.scratch_size_no_need,
          MaceOp.Quantize: self.scratch_size_no_need,
          MaceOp.Dequantize: self.scratch_size_no_need,
      }
  
imports: from py_proto import mace_pb2
  from utils.config_parser import ModelKeys
  from utils.util import mace_check
  from transform.base_converter import MaceKeyword
  from transform.base_converter import MaceOp
label_desc: Use image node_id 1 to create a new ScratchComputer object  with example: obj = ScratchComputer(net_def, model_conf)