code: def prepare_compute(  # type: ignore
      self,
      pc: PrepareContext,
      boxes_tensor: np.ndarray,  # float
      scores_tensor: np.ndarray,  # float
      max_output_boxes_per_class_tensor: np.ndarray,  # int
      iou_threshold_tensor: np.ndarray,  # float
      score_threshold_tensor: np.ndarray,  # float
  ):
      pc.boxes_data_ = boxes_tensor
      pc.scores_data_ = scores_tensor
  
      if max_output_boxes_per_class_tensor.size != 0:
          pc.max_output_boxes_per_class_ = (
              max_output_boxes_per_class_tensor
          )
      if iou_threshold_tensor.size != 0:
          pc.iou_threshold_ = iou_threshold_tensor
      if score_threshold_tensor.size != 0:
          pc.score_threshold_ = score_threshold_tensor
  
      pc.boxes_size_ = boxes_tensor.size
      pc.scores_size_ = scores_tensor.size
  
      boxes_dims = boxes_tensor.shape
      scores_dims = scores_tensor.shape
  
      pc.num_batches_ = boxes_dims[0]
      pc.num_classes_ = scores_dims[1]
      pc.num_boxes_ = boxes_dims[1]
  
file_path: onnx/onnx/reference/ops/op_non_max_suppression.py
imports: import dataclasses
  from typing import Optional, Tuple
  import numpy
  from onnx.reference.op_run import OpRun
label_desc: Use image node_id 2 for calling the NonMaxSuppression obj's underlying member method code with example usage: obj.prepare_compute(pc, boxes_tensor, scores_tensor, max_output_boxes_per_class_tensor, iou_threshold_tensor, score_threshold_tensor) without return types