Skip to content

CLI

CLI Basics

If you want to train, validate or run inference on models and don't need to make any modifications to the code, using YOLO command line interface is the easiest way to get started.

Syntax

yolo task=detect    mode=train    model=yolov8n.yaml    epochs=1 ...
            ...           ...           ...
          segment        predict        yolov8n-seg.pt
          classify        val           yolov8n-cls.pt

The experiment arguments can be overridden directly by pass arg=val covered in the next section. You can run any supported task by setting task and mode in cli.

task snippet
Detection detect
yolo task=detect mode=train       
Instance Segment segment
yolo task=segment mode=train      
Classification classify
yolo task=classify mode=train    
task snippet
Detection detect
yolo task=detect mode=predict       
Instance Segment segment
yolo task=segment mode=predict     
Classification classify
yolo task=classify mode=predict    
task snippet
Detection detect
yolo task=detect mode=val        
Instance Segment segment
yolo task=segment mode=val       
Classification classify
yolo task=classify mode=val      

Note: The arguments don't require '--' prefix. These are reserved for special commands covered later


Overriding default config arguments

All global default arguments can be overriden by simply passing them as arguments in the cli.

yolo task= ... mode= ... arg=val

Perform detection training for 10 epochs with learning_rate of 0.01

yolo task=detect mode=train  epochs=10 lr0=0.01 


Overriding default config file

You can override config file entirely by passing a new file. You can create a copy of default config file in your current working dir as follows:

yolo task=init
You can then use special --cfg name.yaml command to pass the new config file
yolo task=detect mode=train  --cfg default.yaml 

Example
yolo task=init
yolo task=detect mode=train --cfg default.yaml

TODO: add terminal output