mindspore.ops.iou
- mindspore.ops.iou(anchor_boxes, gt_boxes, mode='iou')[source]
Calculates intersection over union for boxes.
Computes the intersection over union (IOU) or the intersection over foreground (IOF) based on the ground-truth and predicted regions.
Warning
In Ascend, only computation of float16 data is supported. To avoid overflow, the input length and width are scaled by 0.2 internally.
- Parameters
anchor_boxes (Tensor) – Anchor boxes, tensor of shape
. “N” indicates the number of anchor boxes, and the value “4” refers to “x0”, “y0”, “x1”, and “y1”. Data type must be either float16, float32 or float64.gt_boxes (Tensor) – Ground truth boxes, tensor of shape
. “M” indicates the number of ground truth boxes, and the value “4” refers to “x0”, “y0”, “x1”, and “y1”. Data type must be either float16, float32 or float64.mode (string) – The mode is used to specify the calculation method, now supporting ‘iou’ (intersection over union) or ‘iof’ (intersection over foreground) mode. Default: ‘iou’.
- Returns
Tensor, the ‘iou’ values, tensor of shape
, with the same data type as anchor_boxes.- Raises
KeyError – When mode is not ‘iou’ or ‘iof’.
- Supported Platforms:
Ascend
GPU
CPU
Examples
>>> anchor_boxes = Tensor(np.random.randint(1.0, 5.0, [3, 4]), mindspore.float16) >>> gt_boxes = Tensor(np.random.randint(1.0, 5.0, [3, 4]), mindspore.float16) >>> mode = 'iou' >>> output = ops.iou(anchor_boxes, gt_boxes, mode) >>> print(output.shape) (3, 3)