code: def __init__(
      self,
      model_path,
      param_path,
      net_clicks_limit=None,
      with_mask=True,
      norm_radius=2,
      spatial_scale=1.0,
      device="gpu",
      enable_mkldnn=False,
      **kwargs,
  ):
      self.net_clicks_limit = net_clicks_limit
      self.original_image = None
      self.prev_prediction = None
      self.model_indx = 0
      self.click_models = None
      self.net_state_dict = None
      self.with_prev_mask = with_mask
      self.device = device
      self.enable_mkldnn = enable_mkldnn
      if not paddle.in_dynamic_mode():
          paddle.disable_static()
      self.normalization = BatchImageNormalize3D(
          [
              0.00040428873,
          ],
          [
              0.00059983705,
          ],
      )
  
      self.transforms = [SigmoidForPred()]  # apply sigmoid after pred
  
      # !! Todo Set the radius and spatial_scale here
      self.dist_maps = DistMaps3D(
          norm_radius=norm_radius,
          spatial_scale=spatial_scale,
          cpu_mode=False,
          use_disks=True,
      )
  
      # init predictor config
      self.pred_cfg = Config(model_path, param_path)
      self.pred_cfg.disable_glog_info()
      self.pred_cfg.enable_memory_optim()
      self.pred_cfg.switch_ir_optim(True)
  
      if self.device == "cpu":
          self._init_cpu_config()
      else:
          self._init_gpu_config()
  
      self.predictor = create_predictor(self.pred_cfg)
  
imports: import os
  import sys
  import logging
  import numpy
  from copy import deepcopy
  import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddle.inference import create_predictor, Config
  from inference.ops import DistMaps3D, ScaleLayer, BatchImageNormalize3D, SigmoidForPred
label_desc: Use image node_id 1 to create a new BasePredictor object from inherited base classes: object with example: obj = BasePredictor(model_path, param_path, net_clicks_limit, with_mask, norm_radius, spatial_scale, device, enable_mkldnn)