code: def gpu_iou(bbox_a_tensor, bbox_b_tensor):
      """
  
      Parameters
      ----------
      bbox_a_tensor
      bbox_b_tensor
  
      Returns
      -------
  
      """
      if bbox_a_tensor.shape[1] < 4 or bbox_b_tensor.shape[1] < 4:
          raise IndexError(
              "Bounding boxes axis 1 must have at least length 4"
          )
  
      tl = mx.nd.maximum(
          bbox_a_tensor.reshape((bbox_a_tensor.shape[0], 1, -1))[
              :, :, :2
          ],
          bbox_b_tensor[:, :2],
      )
      br = mx.nd.minimum(
          bbox_a_tensor.reshape((bbox_a_tensor.shape[0], 1, -1))[
              :, :, 2:4
          ],
          bbox_b_tensor[:, 2:4],
      )
  
      valid = mx.nd.prod(tl < br, axis=2)
      area_i = mx.nd.prod(br - tl, axis=2) * valid
      area_a = mx.nd.prod(
          bbox_a_tensor[:, 2:4] - bbox_a_tensor[:, :2], axis=1
      )
      area_b = mx.nd.prod(
          bbox_b_tensor[:, 2:4] - bbox_b_tensor[:, :2], axis=1
      )
      return area_i / (
          area_a.expand_dims(1) + area_b.expand_dims(0) - area_i
      )
  
imports: from __future__ import absolute_import
  import logging
  import time
  import numpy
  import mxnet
  from gluoncv.utils.bbox import bbox_iou
  from gluoncv.data import COCODetection
  from .utils import timeit, Track
  from .motion_estimation import FarneBeckFlowMotionEstimator
  from .motion_estimation import DummyMotionEstimator
label_desc: Use image node_id 2 for calling a global function with example usage: gpu_iou(bbox_a_tensor, bbox_b_tensor) and returns: unknown