Skip to content

Models Supported by Ultralytics

Welcome to Ultralytics' model documentation! We offer support for a wide range of models, each tailored to specific tasks like object detection, instance segmentation, image classification, pose estimation, and multi-object tracking. If you're interested in contributing your model architecture to Ultralytics, check out our Contributing Guide.

Here are some of the key models supported:

  1. YOLOv3: The third iteration of the YOLO model family, originally by Joseph Redmon, known for its efficient real-time object detection capabilities.
  2. YOLOv4: A darknet-native update to YOLOv3, released by Alexey Bochkovskiy in 2020.
  3. YOLOv5: An improved version of the YOLO architecture by Ultralytics, offering better performance and speed trade-offs compared to previous versions.
  4. YOLOv6: Released by Meituan in 2022, and in use in many of the company's autonomous delivery robots.
  5. YOLOv7: Updated YOLO models released in 2022 by the authors of YOLOv4.
  6. YOLOv8 NEW 🚀: The latest version of the YOLO family, featuring enhanced capabilities such as instance segmentation, pose/keypoints estimation, and classification.
  7. YOLOv9: An experimental model trained on the Ultralytics YOLOv5 codebase implementing Programmable Gradient Information (PGI).
  8. Segment Anything Model (SAM): Meta's Segment Anything Model (SAM).
  9. Mobile Segment Anything Model (MobileSAM): MobileSAM for mobile applications, by Kyung Hee University.
  10. Fast Segment Anything Model (FastSAM): FastSAM by Image & Video Analysis Group, Institute of Automation, Chinese Academy of Sciences.
  11. YOLO-NAS: YOLO Neural Architecture Search (NAS) Models.
  12. Realtime Detection Transformers (RT-DETR): Baidu's PaddlePaddle Realtime Detection Transformer (RT-DETR) models.
  13. YOLO-World: Real-time Open Vocabulary Object Detection models from Tencent AI Lab.

Watch: Run Ultralytics YOLO models in just a few lines of code.

Getting Started: Usage Examples

This example provides simple YOLO training and inference examples. For full documentation on these and other modes see the Predict, Train, Val and Export docs pages.

Note the below example is for YOLOv8 Detect models for object detection. For additional supported tasks see the Segment, Classify and Pose docs.


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:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv8n model
model = YOLO("")

# Display model information (optional)

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the YOLOv8n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

CLI commands are available to directly run the models:

# Load a COCO-pretrained YOLOv8n model and train it on the COCO8 example dataset for 100 epochs
yolo train data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained YOLOv8n model and run inference on the 'bus.jpg' image
yolo predict source=path/to/bus.jpg

Contributing New Models

Interested in contributing your model to Ultralytics? Great! We're always open to expanding our model portfolio.

  1. Fork the Repository: Start by forking the Ultralytics GitHub repository.

  2. Clone Your Fork: Clone your fork to your local machine and create a new branch to work on.

  3. Implement Your Model: Add your model following the coding standards and guidelines provided in our Contributing Guide.

  4. Test Thoroughly: Make sure to test your model rigorously, both in isolation and as part of the pipeline.

  5. Create a Pull Request: Once you're satisfied with your model, create a pull request to the main repository for review.

  6. Code Review & Merging: After review, if your model meets our criteria, it will be merged into the main repository.

For detailed steps, consult our Contributing Guide.

Created 2023-11-12, Updated 2024-05-18
Authors: glenn-jocher (8), Laughing-q (1)