class_docstr: BIoULoss.
  
  This is an implementation of paper
  `Improving Object Localization with Fitness NMS and Bounded IoU Loss.
  <https://arxiv.org/abs/1711.00164>`_.
  
  Args:
      beta (float, optional): Beta parameter in smoothl1.
      eps (float, optional): Epsilon to avoid NaN values.
      reduction (str): Options are "none", "mean" and "sum".
      loss_weight (float): Weight of loss.
class_docstr_tok: ["BIoULoss",".","This","is","an","implementation","of","paper","`","Improving","Object","Localization","with","Fitness","NMS","and","Bounded","IoU","Loss",".","<","https",":","\/\/arxiv.org\/abs\/1711.00164",">","`","_",".","Args",":","beta","(","float",",","optional",")",":","Beta","parameter","in","smoothl1",".","eps","(","float",",","optional",")",":","Epsilon","to","avoid","NaN","values",".","reduction","(","str",")",":","Options","are","``","none","''",",","``","mean","''","and","``","sum","''",".","loss_weight","(","float",")",":","Weight","of","loss","."]
code: def __init__(
      self,
      beta: float = 0.2,
      eps: float = 1e-3,
      reduction: str = "mean",
      loss_weight: float = 1.0,
  ) -> None:
      super().__init__()
      self.beta = beta
      self.eps = eps
      self.reduction = reduction
      self.loss_weight = loss_weight
  
imports: import math
  import warnings
  from typing import Optional
  import torch
  import torch.nn
  from torch import Tensor
  from mmdet.registry import MODELS
  from mmdet.structures.bbox import bbox_overlaps
  from .utils import weighted_loss
label_desc: Use image node_id 1 to create a new BoundedIoULoss object from inherited base classes: nn with example: obj = BoundedIoULoss(beta, eps, reduction, loss_weight)