code: def _get_prediction(
      self, image_nd, clicks_lists, is_image_changed
  ):  # what is the click? click on the right place?
      input_names = self.predictor.get_input_names()
      self.input_handle_1 = self.predictor.get_input_handle(
          input_names[0]
      )
      self.input_handle_2 = self.predictor.get_input_handle(
          input_names[1]
      )
      points_nd = self.get_points_nd(clicks_lists)  # 一个正点，一个负点
  
      image, prev_mask = self.prepare_input(image_nd)
  
      coord_features = self.get_coord_features(
          image, prev_mask, points_nd
      )
      image = image.numpy().astype("float32")
      coord_features = coord_features.numpy().astype("float32")
  
      # logging.info("coord_features.shape, image.shape", coord_features.shape, image.shape, prev_mask.shape)
      self.input_handle_1.copy_from_cpu(image)
      self.input_handle_2.copy_from_cpu(coord_features)
  
      self.predictor.run()
  
      output_names = self.predictor.get_output_names()
  
      output_handle = self.predictor.get_output_handle(output_names[0])
      output_data = output_handle.copy_to_cpu()
      return output_data
  
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 9 for calling the BasePredictor obj's underlying member method code with example usage: obj._get_prediction(image_nd, clicks_lists, is_image_changed) and returns: output_data