انتقل إلى المحتوى

مرجع ل ultralytics/models/nas/val.py

ملاحظه

هذا الملف متاح في https://github.com/ultralytics/ultralytics/ نقطة / الرئيسية /ultralytics/ نماذج / ناس / val.py. إذا اكتشفت مشكلة ، فيرجى المساعدة في إصلاحها من خلال المساهمة في طلب 🛠️ سحب. شكرا لك 🙏!



ultralytics.models.nas.val.NASValidator

قواعد: DetectionValidator

Ultralytics YOLO مدقق NAS لاكتشاف الكائنات.

يمتد DetectionValidator من Ultralytics حزمة النماذج ومصممة لمعالجة ما بعد التنبؤات الأولية تم إنشاؤها بواسطة YOLO نماذج NAS. ينفذ قمعا غير أقصى لإزالة الصناديق المتداخلة ومنخفضة الثقة ، في نهاية المطاف إنتاج الاكتشافات النهائية.

سمات:

اسم نوع وصف
args Namespace

Namespace containing various configurations for post-processing, such as confidence and IoU.

lb Tensor

اختياري tensor للNMS متعدد التسميات.

مثل
from ultralytics import NAS

model = NAS('yolo_nas_s')
validator = model.validator
# Assumes that raw_preds are available
final_preds = validator.postprocess(raw_preds)
ملاحظه

لا يتم إنشاء مثيل لهذه الفئة بشكل عام بشكل مباشر ولكن يتم استخدامها داخليا داخل NAS فصل.

شفرة المصدر في ultralytics/models/nas/val.py
class NASValidator(DetectionValidator):
    """
    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.
        lb (torch.Tensor): Optional tensor for multilabel NMS.

    Example:
        ```python
        from ultralytics import NAS

        model = NAS('yolo_nas_s')
        validator = model.validator
        # Assumes that raw_preds are available
        final_preds = validator.postprocess(raw_preds)
        ```

    Note:
        This class is generally not instantiated directly but is used internally within the `NAS` class.
    """

    def postprocess(self, preds_in):
        """Apply Non-maximum suppression to prediction outputs."""
        boxes = ops.xyxy2xywh(preds_in[0][0])
        preds = torch.cat((boxes, preds_in[0][1]), -1).permute(0, 2, 1)
        return ops.non_max_suppression(
            preds,
            self.args.conf,
            self.args.iou,
            labels=self.lb,
            multi_label=False,
            agnostic=self.args.single_cls,
            max_det=self.args.max_det,
            max_time_img=0.5,
        )

postprocess(preds_in)

تطبيق قمع غير أقصى لمخرجات التنبؤ.

شفرة المصدر في ultralytics/models/nas/val.py
def postprocess(self, preds_in):
    """Apply Non-maximum suppression to prediction outputs."""
    boxes = ops.xyxy2xywh(preds_in[0][0])
    preds = torch.cat((boxes, preds_in[0][1]), -1).permute(0, 2, 1)
    return ops.non_max_suppression(
        preds,
        self.args.conf,
        self.args.iou,
        labels=self.lb,
        multi_label=False,
        agnostic=self.args.single_cls,
        max_det=self.args.max_det,
        max_time_img=0.5,
    )





Created 2023-11-12, Updated 2024-06-02
Authors: glenn-jocher (5), Burhan-Q (1)