from ultralytics.models.yolo.detect import DetectionTrainer from .val import YOLOv10DetectionValidator from .model import YOLOv10DetectionModel from copy import copy from ultralytics.utils import RANK class YOLOv10DetectionTrainer(DetectionTrainer): def get_validator(self): """Returns a DetectionValidator for YOLO model validation.""" self.loss_names = "box_om", "cls_om", "dfl_om", "box_oo", "cls_oo", "dfl_oo", return YOLOv10DetectionValidator( self.test_loader, save_dir=self.save_dir, args=copy(self.args), _callbacks=self.callbacks ) def get_model(self, cfg=None, weights=None, verbose=True): """Return a YOLO detection model.""" model = YOLOv10DetectionModel(cfg, nc=self.data["nc"], verbose=verbose and RANK == -1) if weights: model.load(weights) return model