Salta para o conteúdo

Referência para ultralytics/models/rtdetr/model.py

Nota

Este ficheiro está disponível em https://github.com/ultralytics/ ultralytics/blob/main/ ultralytics/models/rtdetr/model .py. Se detectares um problema, por favor ajuda a corrigi-lo contribuindo com um Pull Request 🛠️. Obrigado 🙏!



ultralytics.models.rtdetr.model.RTDETR

Bases: Model

Interface para o modelo RT-DETR da Baidu. Este detetor de objectos baseado no Vision Transformer proporciona um desempenho em tempo real com elevada precisão. Suporta uma codificação híbrida eficiente, uma seleção de consulta consciente da IoU e uma velocidade de inferência adaptável.

Atributos:

Nome Tipo Descrição
model str

Caminho para o modelo pré-treinado. Usa como predefinição 'rtdetr-l.pt'.

Código fonte em 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

Devolve um mapa de tarefas para RT-DETR, associando as tarefas às classes Ultralytics correspondentes.

Devolve:

Nome Tipo Descrição
dict dict

Um dicionário que mapeia os nomes das tarefas para as classes de tarefas Ultralytics para o modelo RT-DETR .

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

Inicializa o modelo RT-DETR com o ficheiro de modelo pré-treinado fornecido. Suporta os formatos .pt e .yaml.

Parâmetros:

Nome Tipo Descrição Predefinição
model str

Caminho para o modelo pré-treinado. Usa como predefinição 'rtdetr-l.pt'.

'rtdetr-l.pt'

Aumenta:

Tipo Descrição
NotImplementedError

Se a extensão do ficheiro do modelo não for 'pt', 'yaml' ou 'yml'.

Código fonte em 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")





Criado em 2023-11-12, Atualizado em 2023-11-25
Autores: glenn-jocher (3)