跳至内容

命令行界面使用方法

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=coco128.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=coco128.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 GitHub 消息来源.

警告

参数必须以 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   ❌

火车

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

示例

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

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

恢复中断的培训。

yolo detect train resume model=last.pt

瓦尔

在 COCO128 数据集上验证训练有素的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
ONNX onnx yolov8n.onnx imgsz, half, dynamic, simplify, opset
OpenVINO openvino yolov8n_openvino_model/ imgsz, half, int8
TensorRT engine yolov8n.engine imgsz, half, dynamic, simplify, workspace
CoreML coreml yolov8n.mlpackage imgsz, half, int8, nms
TF SavedModel saved_model yolov8n_saved_model/ imgsz, keras, int8
TF GraphDef pb yolov8n.pb imgsz
TF 轻型 tflite yolov8n.tflite imgsz, half, int8
TF 边缘TPU edgetpu yolov8n_edgetpu.tflite imgsz
TF.js tfjs yolov8n_web_model/ imgsz, half, int8
PaddlePaddle paddle yolov8n_paddle_model/ imgsz
ncnn ncnn yolov8n_ncnn_model/ imgsz, half

覆盖默认参数

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

训练检测模型 10 epochslearning_rate0.01

yolo detect train data=coco128.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=coco128.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


创建于 2023-11-12,更新于 2024-02-03
作者:glenn-jocher(11),chr043416@gmail.com(1),AyushExel(1),Laughing-q(1),shuizhuyuanluo@126.com(1)

评论