Перейти к содержимому

Ссылка для ultralytics/models/rtdetr/model.py

Примечание

Этот файл доступен по адресу https://github.com/ultralytics/ ultralytics/blob/main/ ultralytics/models/rtdetr/model .py. Если ты заметил проблему, пожалуйста, помоги исправить ее, отправив Pull Request 🛠️. Спасибо 🙏!



ultralytics.models.rtdetr.model.RTDETR

Базы: Model

Интерфейс для модели Baidu RT-DETR . Этот детектор объектов на основе Vision Transformer обеспечивает производительность в реальном времени с высокой точностью. Он поддерживает эффективное гибридное кодирование, выбор запросов с учетом IoU и адаптируемую скорость вывода.

Атрибуты:

Имя Тип Описание
model str

Путь к предварительно обученной модели. По умолчанию - 'rtdetr-l.pt'.

Исходный код в ultralytics/models/rtdetr/model.py
class RTDETR(Model):
    """
    Interface for Baidu's RT-DETR model. This Vision Transformer-based object detector provides real-time performance
    with high accuracy. It supports efficient hybrid encoding, IoU-aware query selection, and adaptable inference speed.

    Attributes:
        model (str): Path to the pre-trained model. Defaults to 'rtdetr-l.pt'.
    """

    def __init__(self, model="rtdetr-l.pt") -> None:
        """
        Initializes the RT-DETR model with the given pre-trained model file. Supports .pt and .yaml formats.

        Args:
            model (str): Path to the pre-trained model. Defaults to 'rtdetr-l.pt'.

        Raises:
            NotImplementedError: If the model file extension is not 'pt', 'yaml', or 'yml'.
        """
        if model and model.split(".")[-1] not in ("pt", "yaml", "yml"):
            raise NotImplementedError("RT-DETR only supports creating from *.pt, *.yaml, or *.yml files.")
        super().__init__(model=model, task="detect")

    @property
    def task_map(self) -> dict:
        """
        Returns a task map for RT-DETR, associating tasks with corresponding Ultralytics classes.

        Returns:
            dict: A dictionary mapping task names to Ultralytics task classes for the RT-DETR model.
        """
        return {
            "detect": {
                "predictor": RTDETRPredictor,
                "validator": RTDETRValidator,
                "trainer": RTDETRTrainer,
                "model": RTDETRDetectionModel,
            }
        }

task_map: dict property

Возвращает карту задач для RT-DETR, связывая задачи с соответствующими классами Ultralytics .

Возвращается:

Имя Тип Описание
dict dict

Словарь, отображающий названия задач на классы задач Ultralytics для модели RT-DETR .

__init__(model='rtdetr-l.pt')

Инициализирует модель RT-DETR с заданным файлом предварительно обученной модели. Поддерживает форматы .pt и .yaml.

Параметры:

Имя Тип Описание По умолчанию
model str

Путь к предварительно обученной модели. По умолчанию - 'rtdetr-l.pt'.

'rtdetr-l.pt'

Поднимает:

Тип Описание
NotImplementedError

Если расширение файла модели не 'pt', 'yaml' или 'yml'.

Исходный код в ultralytics/models/rtdetr/model.py
def __init__(self, model="rtdetr-l.pt") -> None:
    """
    Initializes the RT-DETR model with the given pre-trained model file. Supports .pt and .yaml formats.

    Args:
        model (str): Path to the pre-trained model. Defaults to 'rtdetr-l.pt'.

    Raises:
        NotImplementedError: If the model file extension is not 'pt', 'yaml', or 'yml'.
    """
    if model and model.split(".")[-1] not in ("pt", "yaml", "yml"):
        raise NotImplementedError("RT-DETR only supports creating from *.pt, *.yaml, or *.yml files.")
    super().__init__(model=model, task="detect")





Создано 2023-11-12, Обновлено 2023-11-25
Авторы: glenn-jocher (3)