def __init__(self, cost_class: float = 1, cost_bbox: float = 1, cost_giou: float = 1):
        """Creates the matcher
        Params:
            cost_class: This is the relative weight of the classification error
                        in the matching cost
            cost_bbox:  This is the relative weight of the L1 error
                        of the bounding box coordinates in the matching cost
            cost_giou:  This is the relative weight of the giou loss of the
                        bounding box in the matching cost
        """
        super().__init__()
        self.cost_class = cost_class
        self.cost_bbox = cost_bbox
        self.cost_giou = cost_giou
        assert cost_class != 0 or cost_bbox != 0 or cost_giou != 0, "all costs cant be 0"
Creates the matcher
        Params:
            cost_class: This is the relative weight of the classification error
                        in the matching cost
            cost_bbox:  This is the relative weight of the L1 error
                        of the bounding box coordinates in the matching cost
            cost_giou:  This is the relative weight of the giou loss of the
                        bounding box in the matching cost
        
art/estimators/object_detection/detr.py