code: def make_onnx_model(boxes_shape, scores_shape, center_point_box):
      import onnx.helper as oh
      from onnx import TensorProto
  
      node = oh.make_node(
          "NonMaxSuppression",
          inputs=[
              "boxes",
              "scores",
              "max_output_boxes_per_class",
              "iou_threshold",
              "score_threshold",
          ],
          outputs=["selected_indices"],
          center_point_box=center_point_box,
      )
      y_shape = ["num_selected_boxes", 3]
      inputs = [
          oh.make_tensor_value_info(
              "boxes", TensorProto.FLOAT, boxes_shape
          ),
          oh.make_tensor_value_info(
              "scores", TensorProto.FLOAT, scores_shape
          ),
          oh.make_tensor_value_info(
              "max_output_boxes_per_class", TensorProto.INT64, []
          ),
          oh.make_tensor_value_info(
              "iou_threshold", TensorProto.FLOAT, []
          ),
          oh.make_tensor_value_info(
              "score_threshold", TensorProto.FLOAT, []
          ),
      ]
      outputs = [
          oh.make_tensor_value_info(
              "selected_indices", TensorProto.INT64, y_shape
          )
      ]
      graph = oh.make_graph(
          [node], "non_max_suppression_test", inputs, outputs
      )
      opset = onnx.OperatorSetIdProto()
      opset.version = 11
      model = oh.make_model(graph, opset_imports=[opset])
      return model.SerializeToString()
  
file_path: nnabla/python/test/function/test_onnx_non_max_suppression.py
imports: import pytest
  import numpy
  import nnabla
  import nnabla.functions
  from nbla_test_utils import list_context
  from nnabla.testing import assert_allclose
label_desc: Use image node_id 1 for calling a global function with example usage: make_onnx_model(boxes_shape, scores_shape, center_point_box) and returns: model