2.7 KiB
comments | description | keywords |
---|---|---|
true | Learn about the supported models and architectures, such as YOLOv3, YOLOv5, and YOLOv8, and how to contribute your own model to Ultralytics. | Ultralytics YOLO, YOLOv3, YOLOv4, YOLOv5, YOLOv6, YOLOv7, YOLOv8, SAM, YOLO-NAS, RT-DETR, object detection, instance segmentation, detection transformers, real-time detection, computer vision, CLI, Python |
Models
Ultralytics supports many models and architectures with more to come in the future. Want to add your model architecture? Here's how you can contribute.
In this documentation, we provide information on four major models:
- YOLOv3: The third iteration of the YOLO model family originally by Joseph Redmon, known for its efficient real-time object detection capabilities.
- YOLOv4: A darknet-native update to YOLOv3 released by Alexey Bochkovskiy in 2020.
- YOLOv5: An improved version of the YOLO architecture by Ultralytics, offering better performance and speed tradeoffs compared to previous versions.
- YOLOv6: Released by Meituan in 2022 and is in use in many of the company's autonomous delivery robots.
- YOLOv7: Updated YOLO models released in 2022 by the authors of YOLOv4.
- YOLOv8: The latest version of the YOLO family, featuring enhanced capabilities such as instance segmentation, pose/keypoints estimation, and classification.
- Segment Anything Model (SAM): Meta's Segment Anything Model (SAM).
- YOLO-NAS: YOLO Neural Architecture Search (NAS) Models.
- Realtime Detection Transformers (RT-DETR): Baidu's PaddlePaddle Realtime Detection Transformer (RT-DETR) models.
You can use many of these models directly in the Command Line Interface (CLI) or in a Python environment. Below are examples of how to use the models with CLI and Python:
CLI Example
Use the model
argument to pass a model YAML such as model=yolov8n.yaml
or a pretrained *.pt file such as model=yolov8n.pt
yolo task=detect mode=train model=yolov8n.pt data=coco128.yaml epochs=100
Python Example
PyTorch pretrained models as well as model YAML files can also be passed to the YOLO()
, SAM()
, NAS()
and RTDETR()
classes to create a model instance in python:
from ultralytics import YOLO
model = YOLO("yolov8n.pt") # load a pretrained YOLOv8n model
model.info() # display model information
model.train(data="coco128.yaml", epochs=100) # train the model
For more details on each model, their supported tasks, modes, and performance, please visit their respective documentation pages linked above.