code: def numpy_nms_abstract(boxes, scores, iou_threshold):
      assert boxes.device == scores.device
      N = boxes.shape[0]
      assert boxes.shape == (N, 4)
      assert scores.shape == (N,)
  
      ctx = torch._custom_op.impl.get_ctx()
      i0 = ctx.create_unbacked_symint()
      result = boxes.new_empty([i0], dtype=torch.int64)
      return result
  
imports: import torch
  import functools
  from torch.testing import make_tensor
  from torch.testing._internal.opinfo.core import OpInfo, SampleInput
  from torch.testing._internal.common_dtype import all_types_and
  import numpy
  from torch.testing._internal.autograd_function_db import sample_inputs_numpy_cube, sample_inputs_numpy_mul, sample_inputs_numpy_sort, sample_inputs_numpy_take
  from torch import Tensor
  from torch.types import Number
  from typing import *
  import torch._custom_ops
label_desc: Use image node_id 51 for calling a global function with example usage: numpy_nms_abstract(boxes, scores, iou_threshold) and returns: result