diff --git a/docs/models/index.md b/docs/models/index.md index 389e5e6..887189f 100644 --- a/docs/models/index.md +++ b/docs/models/index.md @@ -26,12 +26,10 @@ You can use many of these models directly in the Command Line Interface (CLI) or ## Usage -You can use RT-DETR for object detection tasks using the `ultralytics` pip package. The following is a sample code snippet showing how to use RT-DETR models for training and inference: + This example provides simple inference code for YOLO, SAM and RTDETR models. For more options including handling inference results see [Predict](../modes/predict.md) mode. For using models with additional modes see [Train](../modes/train.md), [Val](../modes/val.md) and [Export](../modes/export.md). !!! example "" - This example provides simple inference code for YOLO, SAM and RTDETR models. For more options including handling inference results see [Predict](../modes/predict.md) mode. For using models with additional modes see [Train](../modes/train.md), [Val](../modes/val.md) and [Export](../modes/export.md). - === "Python" PyTorch pretrained `*.pt` models as well as configuration `*.yaml` files can be passed to the `YOLO()`, `SAM()`, `NAS()` and `RTDETR()` classes to create a model instance in python: diff --git a/ultralytics/data/annotator.py b/ultralytics/data/annotator.py index f8d5901..2ea66be 100644 --- a/ultralytics/data/annotator.py +++ b/ultralytics/data/annotator.py @@ -1,3 +1,5 @@ +# Ultralytics YOLO 🚀, AGPL-3.0 license + from pathlib import Path from ultralytics import SAM, YOLO diff --git a/ultralytics/data/converter.py b/ultralytics/data/converter.py index c6f8547..38b4147 100644 --- a/ultralytics/data/converter.py +++ b/ultralytics/data/converter.py @@ -1,3 +1,5 @@ +# Ultralytics YOLO 🚀, AGPL-3.0 license + import json from collections import defaultdict from pathlib import Path diff --git a/ultralytics/data/dataloaders/__init__.py b/ultralytics/data/dataloaders/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/ultralytics/hub/session.py b/ultralytics/hub/session.py index 9db1d62..595de29 100644 --- a/ultralytics/hub/session.py +++ b/ultralytics/hub/session.py @@ -1,4 +1,5 @@ # Ultralytics YOLO 🚀, AGPL-3.0 license + import signal import sys from pathlib import Path diff --git a/ultralytics/utils/callbacks/dvc.py b/ultralytics/utils/callbacks/dvc.py index ef4c0cc..cfe18f2 100644 --- a/ultralytics/utils/callbacks/dvc.py +++ b/ultralytics/utils/callbacks/dvc.py @@ -1,4 +1,5 @@ # Ultralytics YOLO 🚀, GPL-3.0 license + import os import pkg_resources as pkg diff --git a/ultralytics/utils/callbacks/wb.py b/ultralytics/utils/callbacks/wb.py index bff080f..4a8ee24 100644 --- a/ultralytics/utils/callbacks/wb.py +++ b/ultralytics/utils/callbacks/wb.py @@ -1,4 +1,5 @@ # Ultralytics YOLO 🚀, AGPL-3.0 license + from ultralytics.utils import SETTINGS, TESTS_RUNNING from ultralytics.utils.torch_utils import model_info_for_loggers diff --git a/ultralytics/utils/checks.py b/ultralytics/utils/checks.py index 6619936..9cc02d5 100644 --- a/ultralytics/utils/checks.py +++ b/ultralytics/utils/checks.py @@ -341,15 +341,19 @@ def check_suffix(file='yolov8n.pt', suffix='.pt', msg=''): def check_yolov5u_filename(file: str, verbose: bool = True): """Replace legacy YOLOv5 filenames with updated YOLOv5u filenames.""" - if ('yolov3' in file or 'yolov5' in file) and 'u' not in file: - original_file = file - file = re.sub(r'(.*yolov5([nsmlx]))\.pt', '\\1u.pt', file) # i.e. yolov5n.pt -> yolov5nu.pt - file = re.sub(r'(.*yolov5([nsmlx])6)\.pt', '\\1u.pt', file) # i.e. yolov5n6.pt -> yolov5n6u.pt - file = re.sub(r'(.*yolov3(|-tiny|-spp))\.pt', '\\1u.pt', file) # i.e. yolov3-spp.pt -> yolov3-sppu.pt - if file != original_file and verbose: - LOGGER.info(f"PRO TIP 💡 Replace 'model={original_file}' with new 'model={file}'.\nYOLOv5 'u' models are " - f'trained with https://github.com/ultralytics/ultralytics and feature improved performance vs ' - f'standard YOLOv5 models trained with https://github.com/ultralytics/yolov5.\n') + if 'yolov3' in file or 'yolov5' in file: + if 'u.yaml' in file: + file = file.replace('u.yaml', '.yaml') # i.e. yolov5nu.yaml -> yolov5n.yaml + elif '.pt' in file and 'u' not in file: + original_file = file + file = re.sub(r'(.*yolov5([nsmlx]))\.pt', '\\1u.pt', file) # i.e. yolov5n.pt -> yolov5nu.pt + file = re.sub(r'(.*yolov5([nsmlx])6)\.pt', '\\1u.pt', file) # i.e. yolov5n6.pt -> yolov5n6u.pt + file = re.sub(r'(.*yolov3(|-tiny|-spp))\.pt', '\\1u.pt', file) # i.e. yolov3-spp.pt -> yolov3-sppu.pt + if file != original_file and verbose: + LOGGER.info( + f"PRO TIP 💡 Replace 'model={original_file}' with new 'model={file}'.\nYOLOv5 'u' models are " + f'trained with https://github.com/ultralytics/ultralytics and feature improved performance vs ' + f'standard YOLOv5 models trained with https://github.com/ultralytics/yolov5.\n') return file diff --git a/ultralytics/utils/torch_utils.py b/ultralytics/utils/torch_utils.py index 12eeecf..c593ac2 100644 --- a/ultralytics/utils/torch_utils.py +++ b/ultralytics/utils/torch_utils.py @@ -1,4 +1,5 @@ # Ultralytics YOLO 🚀, AGPL-3.0 license + import math import os import platform diff --git a/ultralytics/utils/tuner.py b/ultralytics/utils/tuner.py index 85df9da..b8672de 100644 --- a/ultralytics/utils/tuner.py +++ b/ultralytics/utils/tuner.py @@ -1,4 +1,5 @@ # Ultralytics YOLO 🚀, AGPL-3.0 license + from ultralytics.cfg import TASK2DATA, TASK2METRIC from ultralytics.utils import DEFAULT_CFG_DICT, LOGGER, NUM_THREADS