code: def intersect(box_a, box_b):
      """We resize both tensors to [A,B,2] without new malloc:
      [A,2] -> [A,1,2] -> [A,B,2]
      [B,2] -> [1,B,2] -> [A,B,2]
      Then we compute the area of intersect between box_a and box_b.
      Args:
        box_a: (tensor) bounding boxes, Shape: [A,4].
        box_b: (tensor) bounding boxes, Shape: [B,4].
      Return:
        (tensor) intersection area, Shape: [A,B].
      """
      A = box_a.size(0)
      B = box_b.size(0)
      max_xy = torch.min(
          box_a[:, 2:].unsqueeze(1).expand(A, B, 2),
          box_b[:, 2:].unsqueeze(0).expand(A, B, 2),
      )
      min_xy = torch.max(
          box_a[:, :2].unsqueeze(1).expand(A, B, 2),
          box_b[:, :2].unsqueeze(0).expand(A, B, 2),
      )
      inter = torch.clamp((max_xy - min_xy), min=0)
      return inter[:, :, 0] * inter[:, :, 1]
  
imports: import numpy
  import torch
  import torch.nn
  import torch.nn.functional
label_desc: Use image node_id 1 for calling a global function with example usage: intersect(box_a, box_b) and returns: unknown