Salta para o conteúdo

descrição: Domina o Ultralytics YOLO OBB Trainer: Uma ferramenta especializada para treinar modelos YOLO usando Oriented Bounding Boxes. Apresenta detalhes de uso, inicialização de modelos e processos de treinamento. palavras-chave: Ultralytics, YOLO OBB Trainer, Oriented Bounding Box, treino de modelos OBB, YOLO treino de modelos, visão computacional, aprendizagem profunda, aprendizagem automática, YOLO deteção de objectos, inicialização de modelos, YOLO processo de treino


Referência para ultralytics/models/yolo/obb/train.py

Nota

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



ultralytics.models.yolo.obb.train.OBBTrainer

Bases: DetectionTrainer

Uma classe que estende a classe DetectionTrainer para treino com base num modelo OBB (Oriented Bounding Box).

Exemplo
from ultralytics.models.yolo.obb import OBBTrainer

args = dict(model='yolov8n-obb.pt', data='dota8.yaml', epochs=3)
trainer = OBBTrainer(overrides=args)
trainer.train()
Código fonte em ultralytics/models/yolo/obb/train.py
class OBBTrainer(yolo.detect.DetectionTrainer):
    """
    A class extending the DetectionTrainer class for training based on an Oriented Bounding Box (OBB) model.

    Example:
        ```python
        from ultralytics.models.yolo.obb import OBBTrainer

        args = dict(model='yolov8n-obb.pt', data='dota8.yaml', epochs=3)
        trainer = OBBTrainer(overrides=args)
        trainer.train()
        ```
    """

    def __init__(self, cfg=DEFAULT_CFG, overrides=None, _callbacks=None):
        """Initialize a OBBTrainer object with given arguments."""
        if overrides is None:
            overrides = {}
        overrides["task"] = "obb"
        super().__init__(cfg, overrides, _callbacks)

    def get_model(self, cfg=None, weights=None, verbose=True):
        """Return OBBModel initialized with specified config and weights."""
        model = OBBModel(cfg, ch=3, nc=self.data["nc"], verbose=verbose and RANK == -1)
        if weights:
            model.load(weights)

        return model

    def get_validator(self):
        """Return an instance of OBBValidator for validation of YOLO model."""
        self.loss_names = "box_loss", "cls_loss", "dfl_loss"
        return yolo.obb.OBBValidator(self.test_loader, save_dir=self.save_dir, args=copy(self.args))

__init__(cfg=DEFAULT_CFG, overrides=None, _callbacks=None)

Inicializa um objeto OBBTrainer com os argumentos fornecidos.

Código fonte em ultralytics/models/yolo/obb/train.py
def __init__(self, cfg=DEFAULT_CFG, overrides=None, _callbacks=None):
    """Initialize a OBBTrainer object with given arguments."""
    if overrides is None:
        overrides = {}
    overrides["task"] = "obb"
    super().__init__(cfg, overrides, _callbacks)

get_model(cfg=None, weights=None, verbose=True)

Devolve OBBModel inicializado com a configuração e os pesos especificados.

Código fonte em ultralytics/models/yolo/obb/train.py
def get_model(self, cfg=None, weights=None, verbose=True):
    """Return OBBModel initialized with specified config and weights."""
    model = OBBModel(cfg, ch=3, nc=self.data["nc"], verbose=verbose and RANK == -1)
    if weights:
        model.load(weights)

    return model

get_validator()

Devolve uma instância de OBBValidator para validação do modelo YOLO .

Código fonte em ultralytics/models/yolo/obb/train.py
def get_validator(self):
    """Return an instance of OBBValidator for validation of YOLO model."""
    self.loss_names = "box_loss", "cls_loss", "dfl_loss"
    return yolo.obb.OBBValidator(self.test_loader, save_dir=self.save_dir, args=copy(self.args))





Criado em 2024-01-05, Atualizado em 2024-05-18
Autores: glenn-jocher (3), Burhan-Q (1)