Ë
    Fêñi  ã                   ó@   — d dl Z d dlmZ d dlmZ dgZ G d„ de«      Zy)é    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«      j	                  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       €ú\/var/www/pod-logistic/pod-ai/venv/lib/python3.12/site-packages/ultralytics/models/nas/val.pyr   zNASValidator.postprocess"   sU   ø€ ä—‘˜h q™k¨!™nÓ-ˆÜ—	‘	˜5 (¨1¡+¨a¡.Ð1°2Ó6×>Ñ>¸qÀ!ÀQÓGˆÜ‰wÑ" 5Ó)Ð)ó    )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__classcell__)r   s   @r   r   r      s   ø„ ñ÷,*ð *r   )r   Úultralytics.models.yolo.detectr   Úultralytics.utilsr   Ú__all__r   © r   r   ú<module>r!      s%   ðó å =Ý !àÐ
€ô*Ð%õ *r   