Command Line Interface
The Ultralytics command line interface (CLI) provides a straightforward way to use Ultralytics YOLO models without needing a Python environment. The CLI supports running various tasks directly from the terminal using the yolo
command, requiring no customization or Python code.
Watch: Mastering Ultralytics YOLO: CLI
Example
Ultralytics yolo
commands use the following syntax:
Where:
- TASK
(optional) is one of [detect, segment, classify, pose, obb]
- MODE
(required) is one of [train, val, predict, export, track, benchmark]
- ARGS
(optional) are any number of custom arg=value
pairs like imgsz=320
that override defaults.
See all ARGS in the full Configuration Guide or with yolo cfg
.
Train a detection model for 10 epochs with an initial learning rate of 0.01:
Predict using a pretrained segmentation model on a YouTube video at image size 320:
Validate a pretrained detection model with a batch size of 1 and image size 640:
Export a YOLO classification model to ONNX format with image size 224x128 (no TASK required):
Where:
TASK
(optional) is one of[detect, segment, classify, pose, obb]
. If not explicitly passed, YOLO will attempt to infer theTASK
from the model type.MODE
(required) is one of[train, val, predict, export, track, benchmark]
ARGS
(optional) are any number of customarg=value
pairs likeimgsz=320
that override defaults. For a full list of availableARGS
, see the Configuration page anddefaults.yaml
.
Warning
Arguments must be passed as arg=val
pairs, separated by an equals =
sign and delimited by spaces between pairs. Do not use --
argument prefixes or commas ,
between arguments.
yolo predict model=yolo11n.pt imgsz=640 conf=0.25
✅yolo predict model yolo11n.pt imgsz 640 conf 0.25
❌yolo predict --model yolo11n.pt --imgsz 640 --conf 0.25
❌
Train
Train YOLO on the COCO8 dataset for 100 epochs at image size 640. For a full list of available arguments, see the Configuration page.
Example
Val
Validate the accuracy of the trained model on the COCO8 dataset. No arguments are needed as the model
retains its training data
and arguments as model attributes.
Example
Predict
Use a trained model to run predictions on images.
Example
Export
Export a model to a different format like ONNX or CoreML.
Example
Available Ultralytics export formats are in the table below. You can export to any format using the format
argument, i.e., format='onnx'
or format='engine'
.
Format | format Argument |
Model | Metadata | Arguments |
---|---|---|---|---|
PyTorch | - | yolo11n.pt |
✅ | - |
TorchScript | torchscript |
yolo11n.torchscript |
✅ | imgsz , optimize , nms , batch |
ONNX | onnx |
yolo11n.onnx |
✅ | imgsz , half , dynamic , simplify , opset , nms , batch |
OpenVINO | openvino |
yolo11n_openvino_model/ |
✅ | imgsz , half , dynamic , int8 , nms , batch , data |
TensorRT | engine |
yolo11n.engine |
✅ | imgsz , half , dynamic , simplify , workspace , int8 , nms , batch , data |
CoreML | coreml |
yolo11n.mlpackage |
✅ | imgsz , half , int8 , nms , batch |
TF SavedModel | saved_model |
yolo11n_saved_model/ |
✅ | imgsz , keras , int8 , nms , batch |
TF GraphDef | pb |
yolo11n.pb |
❌ | imgsz , batch |
TF Lite | tflite |
yolo11n.tflite |
✅ | imgsz , half , int8 , nms , batch , data |
TF Edge TPU | edgetpu |
yolo11n_edgetpu.tflite |
✅ | imgsz |
TF.js | tfjs |
yolo11n_web_model/ |
✅ | imgsz , half , int8 , nms , batch |
PaddlePaddle | paddle |
yolo11n_paddle_model/ |
✅ | imgsz , batch |
MNN | mnn |
yolo11n.mnn |
✅ | imgsz , batch , int8 , half |
NCNN | ncnn |
yolo11n_ncnn_model/ |
✅ | imgsz , half , batch |
IMX500 | imx |
yolov8n_imx_model/ |
✅ | imgsz , int8 , data |
RKNN | rknn |
yolo11n_rknn_model/ |
✅ | imgsz , batch , name |
See full export
details on the Export page.
Overriding Default Arguments
Override default arguments by passing them in the CLI as arg=value
pairs.
Tip
Train a detection model for 10 epochs with a learning rate of 0.01:
Predict using a pretrained segmentation model on a YouTube video at image size 320:
Overriding Default Config File
Override the default.yaml
configuration file entirely by passing a new file with the cfg
argument, such as cfg=custom.yaml
.
To do this, first create a copy of default.yaml
in your current working directory with the yolo copy-cfg
command, which creates a default_copy.yaml
file.
You can then pass this file as cfg=default_copy.yaml
along with any additional arguments, like imgsz=320
in this example:
Solutions Commands
Ultralytics provides ready-to-use solutions for common computer vision applications through the CLI. These solutions simplify implementation of complex tasks like object counting, workout monitoring, and queue management.
Example
Count objects in a video or live stream:
Monitor workout exercises using a pose model:
Count objects in a designated queue or region:
Perform object detection, instance segmentation, or pose estimation in a web browser using Streamlit:
For more information on Ultralytics solutions, visit the Solutions page.
FAQ
How do I use the Ultralytics YOLO command line interface (CLI) for model training?
To train a model using the CLI, execute a single-line command in the terminal. For example, to train a detection model for 10 epochs with a learning rate of 0.01, run:
This command uses the train
mode with specific arguments. For a full list of available arguments, refer to the Configuration Guide.
What tasks can I perform with the Ultralytics YOLO CLI?
The Ultralytics YOLO CLI supports various tasks, including detection, segmentation, classification, pose estimation, and oriented bounding box detection. You can also perform operations like:
- Train a Model: Run
yolo train data=<data.yaml> model=<model.pt> epochs=<num>
. - Run Predictions: Use
yolo predict model=<model.pt> source=<data_source> imgsz=<image_size>
. - Export a Model: Execute
yolo export model=<model.pt> format=<export_format>
. - Use Solutions: Run
yolo solutions <solution_name>
for ready-made applications.
Customize each task with various arguments. For detailed syntax and examples, see the respective sections like Train, Predict, and Export.
How can I validate the accuracy of a trained YOLO model using the CLI?
To validate a model's accuracy, use the val
mode. For example, to validate a pretrained detection model with a batch size of 1 and an image size of 640, run:
This command evaluates the model on the specified dataset and provides performance metrics like mAP, precision, and recall. For more details, refer to the Val section.
What formats can I export my YOLO models to using the CLI?
You can export YOLO models to various formats including ONNX, TensorRT, CoreML, TensorFlow, and more. For instance, to export a model to ONNX format, run:
The export command supports numerous options to optimize your model for specific deployment environments. For complete details on all available export formats and their specific parameters, visit the Export page.
How do I use the pre-built solutions in the Ultralytics CLI?
Ultralytics provides ready-to-use solutions through the solutions
command. For example, to count objects in a video:
These solutions require minimal configuration and provide immediate functionality for common computer vision tasks. To see all available solutions, run yolo solutions help
. Each solution has specific parameters that can be customized to fit your needs.