You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Glenn Jocher 46cb657b64
Merge `model()` and `model.predict()` (#146)
2 years ago
.github Add Dockerfiles and update Docs README (#124) 2 years ago
docker Add Dockerfiles and update Docs README (#124) 2 years ago
docs Add colab template and minor fixes (#137) 2 years ago
tests Merge `model()` and `model.predict()` (#146) 2 years ago
ultralytics Merge `model()` and `model.predict()` (#146) 2 years ago
.gitignore Integration of v8 segmentation (#107) 2 years ago
.pre-commit-config.yaml Add Dockerfiles and update Docs README (#124) 2 years ago
CITATION.cff Fix CITATION.cff typos (#64) 2 years ago
CONTRIBUTING.md docs setup (#61) 2 years ago
LICENSE Initial commit 2 years ago
MANIFEST.in Trainer + Dataloaders (#27) 2 years ago
README.md CoreML NMS and half fixes (#143) 2 years ago
mkdocs.yml [Docs]: Link buttons, add autobackend, BaseModel and ops (#130) 2 years ago
requirements.txt Add CoreML iOS updates (#121) 2 years ago
setup.cfg Flake8 updates (#66) 2 years ago
setup.py docs setup (#61) 2 years ago

README.md

Ultralytics CI

Install

pip install ultralytics

Development

git clone https://github.com/ultralytics/ultralytics
cd ultralytics
pip install -e .

Usage

1. CLI

To simply use the latest Ultralytics YOLO models

yolo task=detect    mode=train    model=yolov8n.yaml      args=...
          classify       predict        yolov8n-cls.yaml  args=...
          segment        val            yolov8n-seg.yaml  args=...
                         export         yolov8n.pt        format=onnx

2. Python SDK

To use pythonic interface of Ultralytics YOLO model

from ultralytics import YOLO

model = YOLO("yolov8n.yaml")  # create a new model from scratch
model = YOLO(
    "yolov8n.pt"
)  # load a pretrained model (recommended for best training results)
results = model.train(data="coco128.yaml", epochs=100, imgsz=640)
results = model.val()
results = model.predict(source="bus.jpg")
success = model.export(format="onnx")

Models

Model size
(pixels)
mAPval
50-95
Speed
CPU
(ms)
Speed
T4 GPU
(ms)
params
(M)
FLOPs
(B)
YOLOv5n 640 28.0 - - 1.9 4.5
YOLOv6n 640 35.9 - - 4.3 11.1
YOLOv8n 640 37.5 - - 3.2 8.9
YOLOv5s 640 37.4 - - 7.2 16.5
YOLOv6s 640 43.5 - - 17.2 44.2
YOLOv8s 640 44.7 - - 11.2 28.8
YOLOv5m 640 45.4 - - 21.2 49.0
YOLOv6m 640 49.5 - - 34.3 82.2
YOLOv8m 640 50.3 - - 25.9 79.3
YOLOv5l 640 49.0 - - 46.5 109.1
YOLOv6l 640 52.5 - - 58.5 144.0
YOLOv7 640 51.2 - - 36.9 104.7
YOLOv8l 640 52.8 - - 43.7 165.7
YOLOv5x 640 50.7 - - 86.7 205.7
YOLOv7-X 640 52.9 - - 71.3 189.9
YOLOv8x 640 53.7 - - 68.2 258.5
YOLOv5x6 1280 55.0 - - 140.7 839.2
YOLOv7-E6E 1280 56.8 - - 151.7 843.2
YOLOv8x6
+TTA
1280 -
-
-
-
-
-
97.4 1047.2
-

If you're looking to modify YOLO for R&D or to build on top of it, refer to Using Trainer Guide on our docs.