§
    —/j  ã                   óH   — d dl Z d dlmZ d dlmZ dgZ G d„ de¦  «        ZdS )é    N)ÚDetectionValidator)ÚopsÚNASValidatorc                   ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )r   aš  Ultralytics YOLO NAS Validator for object detection.

    Extends DetectionValidator from the Ultralytics models package and is designed to post-process the raw predictions
    generated by YOLO NAS models. It performs non-maximum suppression to remove overlapping and low-confidence boxes,
    ultimately producing the final detections.

    Attributes:
        args (Namespace): Namespace containing various configurations for post-processing, such as confidence and IoU
            thresholds.
        lb (torch.Tensor): Optional tensor for multilabel NMS.

    Examples:
        >>> from ultralytics import NAS
        >>> model = NAS("yolo_nas_s")
        >>> validator = model.validator
        >>> # Assumes that raw_preds are available
        >>> final_preds = validator.postprocess(raw_preds)

    Notes:
        This class is generally not instantiated directly but is used internally within the NAS class.
    c                 óö   •— t          j        |d         d         ¦  «        }t          j        ||d         d         fd¦  «                             ddd¦  «        }t          ¦   «                              |¦  «        S )z4Apply Non-maximum suppression to prediction outputs.r   é   éÿÿÿÿé   )r   Ú	xyxy2xywhÚtorchÚcatÚpermuteÚsuperÚpostprocess)ÚselfÚpreds_inÚboxesÚpredsÚ	__class__s       €ú_/home/longshao/multi-rider-rag/.venv/lib/python3.11/site-packages/ultralytics/models/nas/val.pyr   zNASValidator.postprocess"   sb   ø€ å”˜h qœk¨!œnÑ-Ô-ˆÝ”	˜5 (¨1¤+¨a¤.Ð1°2Ñ6Ô6×>Ò>¸qÀ!ÀQÑGÔGˆÝ‰wŒw×"Ò" 5Ñ)Ô)Ð)ó    )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__classcell__)r   s   @r   r   r      sB   ø€ € € € € ðð ð,*ð *ð *ð *ð *ð *ð *ð *ð *r   )r   Úultralytics.models.yolo.detectr   Úultralytics.utilsr   Ú__all__r   © r   r   ú<module>r!      sq   ðð €€€à =Ð =Ð =Ð =Ð =Ð =Ø !Ð !Ð !Ð !Ð !Ð !àÐ
€ð*ð *ð *ð *ð *Ð%ñ *ô *ð *ð *ð *r   