class_docstr: Compute the generalized intersection over union (GIoU) loss of a pair of boxes.
  The two inputs should have the same shape. giou_loss = 1.0 - giou
  
  The range of GIoU is (-1.0, 1.0]. Thus the range of GIoU loss is [0.0, 2.0).
  
  Args:
      reduction: {``"none"``, ``"mean"``, ``"sum"``}
          Specifies the reduction to apply to the output. Defaults to ``"mean"``.
          - ``"none"``: no reduction will be applied.
          - ``"mean"``: the sum of the output will be divided by the number of elements in the output.
          - ``"sum"``: the output will be summed.
code: def __init__(
      self, reduction: LossReduction | str = LossReduction.MEAN
  ) -> None:
      super().__init__(reduction=LossReduction(reduction).value)
  
file_path: MONAI/monai/losses/giou_loss.py
imports: from __future__ import annotations
  import torch
  from torch.nn.modules.loss import _Loss
  from monai.data.box_utils import COMPUTE_DTYPE, box_pair_giou
  from monai.utils import LossReduction
label_desc: Use image node_id 1 to create a new BoxGIoULoss object from inherited base classes: _Loss with example: obj = BoxGIoULoss(reduction)