Bỏ để qua phần nội dung

Tài liệu tham khảo cho ultralytics/models/nas/val.py

Ghi

Tệp này có sẵn tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/mô hình/nas/val.py. Nếu bạn phát hiện ra một vấn đề, vui lòng giúp khắc phục nó bằng cách đóng góp Yêu cầu 🛠️ kéo. Cảm ơn bạn 🙏 !



ultralytics.models.nas.val.NASValidator

Căn cứ: DetectionValidator

Ultralytics YOLO Trình xác thực NAS để phát hiện đối tượng.

Kéo dài DetectionValidator từ Ultralytics Mô hình đóng gói và được thiết kế để xử lý hậu kỳ các dự đoán thô được tạo bởi YOLO Mô hình NAS. Nó thực hiện triệt tiêu không tối đa để loại bỏ các hộp chồng chéo và độ tin cậy thấp, cuối cùng tạo ra những phát hiện cuối cùng.

Thuộc tính:

Tên Kiểu Sự miêu tả
args Namespace

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

lb Tensor

Tùy chọn tensor cho NMS đa nhãn.

Ví dụ
from ultralytics import NAS

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

Lớp này thường không được khởi tạo trực tiếp mà được sử dụng nội bộ trong NAS lớp.

Mã nguồn trong 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)

Áp dụng Triệt tiêu không tối đa cho kết quả dự đoán.

Mã nguồn trong 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)