model.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536
  1. # Ultralytics YOLO 🚀, AGPL-3.0 license
  2. from ultralytics.engine.model import Model
  3. from ultralytics.models import yolo # noqa
  4. from ultralytics.nn.tasks import ClassificationModel, DetectionModel, PoseModel, SegmentationModel
  5. class YOLO(Model):
  6. """
  7. YOLO (You Only Look Once) object detection model.
  8. """
  9. @property
  10. def task_map(self):
  11. """Map head to model, trainer, validator, and predictor classes"""
  12. return {
  13. 'classify': {
  14. 'model': ClassificationModel,
  15. 'trainer': yolo.classify.ClassificationTrainer,
  16. 'validator': yolo.classify.ClassificationValidator,
  17. 'predictor': yolo.classify.ClassificationPredictor, },
  18. 'detect': {
  19. 'model': DetectionModel,
  20. 'trainer': yolo.detect.DetectionTrainer,
  21. 'validator': yolo.detect.DetectionValidator,
  22. 'predictor': yolo.detect.DetectionPredictor, },
  23. 'segment': {
  24. 'model': SegmentationModel,
  25. 'trainer': yolo.segment.SegmentationTrainer,
  26. 'validator': yolo.segment.SegmentationValidator,
  27. 'predictor': yolo.segment.SegmentationPredictor, },
  28. 'pose': {
  29. 'model': PoseModel,
  30. 'trainer': yolo.pose.PoseTrainer,
  31. 'validator': yolo.pose.PoseValidator,
  32. 'predictor': yolo.pose.PosePredictor, }, }