def update(self, preds: List[np.ndarray], targets: Union[(np.ndarray, torch.Tensor)]) -> None:
    '\n        :param preds: Sorted by score. (Batch size, bounding boxes by batch, 5(x_min, y_min, x_max, y_max, label))\n        :param targets: (batch size, bounding box count, 5(x_min, y_min, x_max, y_max, label))\n        :return:\n        '
    targets = (targets.cpu().detach().numpy() if isinstance(targets, torch.Tensor) else targets)
    for i in range(len(preds)):
        (pred_bboxes, target_bboxes) = (preds[i], targets[i])
        target_bboxes = target_bboxes[(target_bboxes[:, 4] >= 0)]
        self._update_num_annotations(target_bboxes)
        self._update_tp_fp_score(pred_bboxes, target_bboxes)
:param preds: Sorted by score. (Batch size, bounding boxes by batch, 5(x_min, y_min, x_max, y_max, label))
:param targets: (batch size, bounding box count, 5(x_min, y_min, x_max, y_max, label))
:return:
def update(self, preds: List[np.ndarray], targets: Union[(np.ndarray, torch.Tensor)]) -> None:
    '\n        :param preds: Sorted by score. (Batch size, bounding boxes by batch, 5(x_min, y_min, x_max, y_max, label))\n        :param targets: (batch size, bounding box count, 5(x_min, y_min, x_max, y_max, label))\n        :return:\n        '
    targets = (targets.cpu().detach().numpy() if isinstance(targets, torch.Tensor) else targets)
    for i in range(len(preds)):
        (pred_bboxes, target_bboxes) = (preds[i], targets[i])
        target_bboxes = target_bboxes[(target_bboxes[:, 4] >= 0)]
        self._update_num_annotations(target_bboxes)
        self._update_tp_fp_score(pred_bboxes, target_bboxes)