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

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

ملاحظه

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



ultralytics.models.nas.val.NASValidator

قواعد: DetectionValidator

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

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

سمات:

اسم نوع وصف
args Namespace

مساحة الاسم التي تحتوي على تكوينات مختلفة للمعالجة اللاحقة ، مثل الثقة وعتبات 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
11 12 13 14 15 16 17 18 1920 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 3637383940 4142 4344 45464748 4950
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 thresholds.
        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
37 38 39 40 41 42 43 44 4546 47484950
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,
    )





تم إنشاء 2023-11-12, اخر تحديث 2023-11-25
المؤلفون: جلين جوشر (3)