Explore Ultralytics YOLOv8

A computer vision model architecture for detection, classification, segmentation, and more.

What is YOLOv8?

YOLOv8 is a computer vision model architecture developed by Ultralytics, the creators of YOLOv5. You can deploy YOLOv8 models on a wide range of devices, including NVIDIA Jetson, NVIDIA GPUs, and macOS systems with Roboflow Inference, an open source Python package for running vision models.

What is YOLOv8?

YOLOv8 is a computer vision model architecture developed by Ultralytics, the creators of YOLOv5. You can deploy YOLOv8 models on a wide range of devices, including NVIDIA Jetson, NVIDIA GPUs, and macOS systems with Roboflow Inference, an open source Python package for running vision models.

Deploy a YOLOv8 Model

To deploy a YOLOv8 model, first install Inference with pip install inference. Then:
from inference import get_model
import supervision as sv
from inference.core.utils.image_utils import load_image_bgr
image = load_image_bgr("https://media.roboflow.com/inference/vehicles.png")
model = get_model(model_id="yolov8n-640")
results = model.infer(image)[0]
results = sv.Detections.from_inference(results)
annotator = sv.BoxAnnotator(thickness=4)
annotated_image = annotator.annotate(image, results)
annotator = sv.LabelAnnotator(text_scale=2, text_thickness=2)
annotated_image = annotator.annotate(annotated_image, results)
sv.plot_image(annotated_image)
from inference import InferencePipeline
from inference.core.interfaces.stream.sinks import render_boxes
pipeline = InferencePipeline.init(
model_id="yolov8n-640",
video_reference=0,
on_prediction=render_boxes
)
pipeline.start()
pipeline.join()

Find YOLOv8 Datasets

Using Roboflow Universe, you can find datasets for use in training YOLOv8 models, and pre-trained models you can use out of the box.

Search Roboflow Universe

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Train a YOLOv8 Model

You can train a YOLOv8 model using the Ultralytics command line interface.

To train a model, install Ultralytics:

pip install ultralytics

Then, use the following command to train your model:

yolo task=detect
mode=train
model=yolov8s.pt
data=dataset/data.yaml
epochs=100
imgsz=640

Replace data with the name of your YOLOv8-formatted dataset. Learn more about the YOLOv8 format.

You can then test your model on images in your test dataset with the following command:

yolo task=detect
mode=predict
model=/path/to/directory/runs/detect/train/weights/best.pt
conf=0.25
source=dataset/test/images

Once you have a model, you can deploy it with Roboflow.

Deploy Your YOLOv8 Model

YOLOv8 Model Sizes

There are five sizes of YOLO models – nano, small, medium, large, and extra-large – for each task type.

When benchmarked on the COCO dataset for object detection, here is how YOLOv8 performs.
Model
Size (px)
mAPval
YOLOv8n
640
37.3
YOLOv8s
640
44.9
YOLOv8m
640
50.2
YOLOv8l
640
52.9
YOLOv8x
640
53.9

Frequently Asked Questions

What are the main features in YOLOv8?

YOLOv8 comes with both architectural and developer experience improvements.Compared to YOLOv8's predecessor, YOLOv5, YOLOv8 comes with:v

  1. A new anchor-free detection system.
  2. Changes to the convolutional blocks used in the model.
  3. Mosaic augmentation applied during training, turned off before the last 10 epochs.

Furthermore, YOLOv8 comes with changes to improve developer experience with the model.

What is the license for YOLOVv8?
Who created YOLOv8?
© 2025 Roboflow, Inc. All rights reserved.
Made with 💜 by Roboflow.