Skip to content

命令行界面使用

YOLO命令行界面(CLI)允许通过简单的单行命令执行操作,无需Python环境。CLI不需要自定义或Python代码。您只需在终端中使用yolo命令即可运行所有任务。



观看: 掌握Ultralytics YOLO: CLI

Example

Ultralytics yolo 命令使用以下语法:

yolo TASK MODE ARGS

其中  TASK (可选)  [detect, segment, classify, pose, obb] 之一
      MODE (必需)  [train, val, predict, export, track, benchmark] 之一
      ARGS (可选) 是任意数量的自定义 'arg=value' 对,如 'imgsz=320',用于覆盖默认值。
查看所有ARGS,请参阅完整的配置指南或使用 yolo cfg

使用初始学习率为0.01,训练一个检测模型10个epoch

yolo train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.01

使用预训练的分割模型,在图像尺寸为320的情况下预测YouTube视频:

yolo predict model=yolo11n-seg.pt source='https://youtu.be/LNwODJXcvt4' imgsz=320

在批量大小为1和图像尺寸为640的情况下,验证预训练的检测模型:

yolo val model=yolo11n.pt data=coco8.yaml batch=1 imgsz=640

将YOLO11n分类模型导出为ONNX格式,图像尺寸为224x128(无需TASK)

yolo export model=yolo11n-cls.pt format=onnx imgsz=224,128

运行特殊命令以查看版本、查看设置、运行检查等:

yolo help
yolo checks
yolo version
yolo settings
yolo copy-cfg
yolo cfg

其中:

  • TASK (可选) 是 [detect, segment, classify, pose, obb] 之一。如果不明确传递,YOLO11将尝试根据模型类型猜测TASK
  • MODE (必需) 是 [train, val, predict, export, track, benchmark] 之一
  • ARGS (可选) 是任意数量的自定义 arg=value 对,如 imgsz=320,用于覆盖默认值。有关可用ARGS的完整列表,请参阅配置页面和defaults.yaml

Warning

参数必须以 arg=val 对的形式传递,用等号 = 分隔,并用空格 分隔对。不要使用 -- 参数前缀或在参数之间使用逗号 ,

  • 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   ❌

训练

在图像尺寸为640的情况下,在COCO8数据集上训练YOLO11n 100个epoch。有关可用参数的完整列表,请参阅配置页面。

Example

开始在COCO8上训练YOLO11n 100个epoch,图像尺寸为640。

yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640

恢复中断的训练。

yolo detect train resume model=last.pt

验证

在COCO8数据集上验证训练好的YOLO11n模型的准确性。无需参数,因为model保留了其训练data和参数作为模型属性。

Example

验证官方YOLO11n模型。

yolo detect val model=yolo11n.pt

验证自定义训练的模型。

yolo detect val model=path/to/best.pt

预测

使用训练好的YOLO11n模型对图像进行预测。

Example

使用官方YOLO11n模型进行预测。

yolo detect predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'

使用自定义模型进行预测。

yolo detect predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg'

导出

导出YOLO11n模型到不同格式如ONNX、CoreML等。

Example

将官方YOLO11n模型导出为ONNX格式。

yolo export model=yolo11n.pt format=onnx

将自定义训练的模型导出为ONNX格式。

yolo export model=path/to/best.pt format=onnx

可用的YOLO11导出格式如下表所示。您可以使用format参数导出到任何格式,例如format='onnx'format='engine'

格式 format 参数 模型 元数据 参数
PyTorch - yolo11n.pt -
TorchScript torchscript yolo11n.torchscript imgsz, optimize, batch
ONNX onnx yolo11n.onnx imgsz, half, dynamic, simplify, opset, batch
OpenVINO openvino yolo11n_openvino_model/ imgsz, half, int8, batch
TensorRT engine yolo11n.engine imgsz, half, dynamic, simplify, workspace, int8, batch
CoreML coreml yolo11n.mlpackage imgsz, half, int8, nms, batch
TF SavedModel saved_model yolo11n_saved_model/ imgsz, keras, int8, batch
TF GraphDef pb yolo11n.pb imgsz, batch
TF Lite tflite yolo11n.tflite imgsz, half, int8, batch
TF Edge TPU edgetpu yolo11n_edgetpu.tflite imgsz
TF.js tfjs yolo11n_web_model/ imgsz, half, int8, batch
PaddlePaddle paddle yolo11n_paddle_model/ imgsz, batch
NCNN ncnn yolo11n_ncnn_model/ imgsz, half, batch

Export页面查看完整的export详情。

覆盖默认参数

通过在CLI中以arg=value对的形式传递参数,可以覆盖默认参数。

Tip

训练一个检测模型,进行10个epoch,学习率为0.01

yolo detect train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.01

使用预训练的分割模型预测YouTube视频,图像尺寸为320:

yolo segment predict model=yolo11n-seg.pt source='https://youtu.be/LNwODJXcvt4' imgsz=320

在批量大小为1和图像尺寸为640的情况下验证预训练的检测模型:

yolo detect val model=yolo11n.pt data=coco8.yaml batch=1 imgsz=640

覆盖默认配置文件

您可以通过传递带有cfg参数的新文件(例如cfg=custom.yaml)来完全覆盖default.yaml配置文件。

首先,使用yolo copy-cfg命令在当前工作目录中创建default.yaml的副本。

这将创建default_copy.yaml,然后您可以将其作为cfg=default_copy.yaml传递,并附带任何额外的参数,例如本例中的imgsz=320

Example

yolo copy-cfg
yolo cfg=default_copy.yaml imgsz=320

常见问题

如何使用Ultralytics YOLO11命令行界面(CLI)进行模型训练?

要使用CLI训练YOLO11模型,您可以在终端中执行一个简单的单行命令。例如,要训练一个检测模型进行10个epoch,学习率为0.01,您可以运行:

yolo train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.01

此命令使用train模式并带有特定参数。请参阅配置指南中的可用参数完整列表。

我可以使用Ultralytics YOLO11 CLI执行哪些任务?

Ultralytics YOLO11 CLI支持多种任务,包括检测、分割、分类、验证、预测、导出和跟踪。例如:

  • 训练模型:运行yolo train data=<data.yaml> model=<model.pt> epochs=<num>
  • 运行预测:使用yolo predict model=<model.pt> source=<data_source> imgsz=<image_size>
  • 导出模型:执行yolo export model=<model.pt> format=<export_format>

每个任务都可以使用各种参数进行自定义。有关详细语法和示例,请参阅训练预测导出等相应部分。

如何使用CLI验证训练好的YOLO11模型的准确性?

要验证YOLO11模型的准确性,请使用val模式。例如,要验证一个预训练的检测模型,批量大小为1,图像尺寸为640,请运行:

yolo val model=yolo11n.pt data=coco8.yaml batch=1 imgsz=640

此命令在指定数据集上评估模型并提供性能指标。有关更多详情,请参阅验证部分。

我可以使用CLI将YOLO11模型导出到哪些格式?

YOLO11模型可以导出为多种格式,如ONNX、CoreML、TensorRT等。例如,要将模型导出为ONNX格式,请运行:

yolo export model=yolo11n.pt format=onnx

有关完整详情,请访问导出页面。

如何自定义YOLO11 CLI命令以覆盖默认参数?

要在YOLO11 CLI命令中覆盖默认参数,请以arg=value对的形式传递它们。例如,要使用自定义参数训练模型,请使用:

yolo train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.01

有关可用参数及其描述的完整列表,请参阅配置指南。确保参数格式正确,如覆盖默认参数部分所示。


📅 Created 11 months ago ✏️ Updated 13 days ago

Comments