跳至内容

命令行界面使用方法

YOLO 命令行界面 (CLI) 允许使用简单的单行命令,而无需Python 环境。CLI 不需要定制或Python 代码。您只需使用 yolo 指挥。



观看: 掌握Ultralytics YOLOv8 :CLI

示例

Ultralytics yolo 命令使用以下语法:

yolo TASK MODE ARGS

Where   TASK (optional) is one of [detect, segment, classify]
        MODE (required) is one of [train, val, predict, export, track]
        ARGS (optional) are any number of custom 'arg=value' pairs like 'imgsz=320' that override defaults.
查看所有 ARGS 全文 配置指南 或与 yolo cfg

训练检测模型 10 次,初始学习率为 0.01

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

在图像大小为 320 时,使用预训练的分割模型预测 YouTube 视频:

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

在批量大小为 1、图像大小为 640 时,验证预先训练的检测模型:

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

将YOLOv8n 分类模型导出为ONNX 格式,图像大小为 224 x 128(无需 TASK)

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

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

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

在哪里?

  • TASK (可选)是 [detect, segment, classify].如果没有明确传递,YOLOv8 将尝试猜测 TASK 来自模型类型。
  • MODE (必填)是 [train, val, predict, export, track]
  • ARGS (可选)是任意数量的自定义 arg=valueimgsz=320 可覆盖默认值。有关可用 ARGS 参见 配置 页和 defaults.yaml

警告

参数必须以 arg=val 对,用等号分割 = 符号,并以空格分隔 对之间。不要使用 -- 参数 , 参数之间。

  • yolo predict model=yolov8n.pt imgsz=640 conf=0.25   ✅
  • yolo predict model yolov8n.pt imgsz 640 conf 0.25   ❌
  • yolo predict --model yolov8n.pt --imgsz 640 --conf 0.25   ❌

火车

在 COCO8 数据集上对YOLOv8n 进行 100 次历时训练,图像大小为 640。有关可用参数的完整列表,请参阅配置页面。

示例

开始在 COCO8 上对YOLOv8n 进行 100 个历元训练,图像大小为 640。

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

恢复中断的培训。

yolo detect train resume model=last.pt

瓦尔

在 COCO8 数据集上验证训练有素的YOLOv8n 模型的准确性。无需传递参数,因为 model 保留其培训 data 和参数作为模型属性。

示例

验证官方YOLOv8n 模型。

yolo detect val model=yolov8n.pt

验证自定义训练的模型

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

预测

使用训练有素的YOLOv8n 模型对图像进行预测。

示例

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

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

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

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

出口

将YOLOv8n 模型导出为不同格式,如ONNX,CoreML 等。

示例

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

yolo export model=yolov8n.pt format=onnx

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

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

YOLOv8 可用的导出格式如下表所示。您可以使用 format 参数,即 format='onnx'format='engine'.

格式 format 论据 模型 元数据 论据
PyTorch - yolov8n.pt -
TorchScript torchscript yolov8n.torchscript imgsz, optimize, batch
ONNX onnx yolov8n.onnx imgsz, half, dynamic, simplify, opset, batch
OpenVINO openvino yolov8n_openvino_model/ imgsz, half, int8, batch
TensorRT engine yolov8n.engine imgsz, half, dynamic, simplify, workspace, int8, batch
CoreML coreml yolov8n.mlpackage imgsz, half, int8, nms, batch
TF SavedModel saved_model yolov8n_saved_model/ imgsz, keras, int8, batch
TF GraphDef pb yolov8n.pb imgsz, batch
TF 轻型 tflite yolov8n.tflite imgsz, half, int8, batch
TF 边缘TPU edgetpu yolov8n_edgetpu.tflite imgsz
TF.js tfjs yolov8n_web_model/ imgsz, half, int8, batch
PaddlePaddle paddle yolov8n_paddle_model/ imgsz, batch
NCNN ncnn yolov8n_ncnn_model/ imgsz, half, batch

查看全文 export 中的详细信息 出口 page.

覆盖默认参数

只要在CLI 中将默认参数作为参数传递,就可以覆盖默认参数。 arg=value 成双成对。

训练检测模型 10 epochslearning_rate0.01

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

在图像大小为 320 时,使用预训练的分割模型预测 YouTube 视频:

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

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

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

覆盖默认配置文件

您可以覆盖 default.yaml 通过传递一个带有 cfg 参数,即 cfg=custom.yaml.

为此,首先创建一个 default.yaml 在当前工作目录中使用 yolo copy-cfg 指挥。

这将创建 default_copy.yaml,然后将其作为 cfg=default_copy.yaml 以及其他参数,例如 imgsz=320 在此示例中:

示例

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

常见问题

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

要使用CLI 训练YOLOv8 模型,可以在终端执行一个简单的单行命令。例如,要训练一个学习率为 0.01 的检测模型 10 个历元,可以运行

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

该命令使用 train 模式的参数。请参阅 配置指南.

Ultralytics YOLOv8 CLI 可以执行哪些任务?

Ultralytics YOLOv8 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 验证经过训练的YOLOv8 模型的准确性?

要验证YOLOv8 模型的准确性,可使用 val 模式。例如,要验证批量大小为 1、图像大小为 640 的预训练检测模型,请运行

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

该命令在指定数据集上评估模型并提供性能指标。有关详细信息,请参阅Val部分。

使用CLI 可以将YOLOv8 模型导出成什么格式?

YOLOv8 模型可以导出为各种格式,如ONNX,CoreML,TensorRT 等。例如,要将模型导出为ONNX 格式,请运行

yolo export model=yolov8n.pt format=onnx

有关详细信息,请访问出口页面。

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

要覆盖YOLOv8 CLI 命令中的默认参数,请将它们作为 arg=value 对。例如,要使用自定义参数训练模型,请使用

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

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



创建于 2023-11-12,更新于 2024-07-04
作者:glenn-jocher(19),ambitious-octopus(1),Burhan-Q(3),RizwanMunawar(1),AyushExel(1),Laughing-q(1),shuizhuyuanluo@126.com(1)

评论