YOLO Vision 2026:

命令行界面#

Ultralytics 命令行界面 (CLI) 提供了一种简便的方法来使用 Ultralytics YOLO 模型,而无需 Python 环境。CLI 支持直接从终端使用 yolo 命令运行各种任务,不需要任何自定义或 Python 代码。



Watch: Mastering Ultralytics YOLO: CLI
示例

Ultralytics yolo 命令使用以下语法:

yolo TASK MODE ARGS

其中:

  • TASK(可选)是 [detect, segment, semantic, depth, classify, pose, obb] 之一
  • MODE(必需)是 [train, val, predict, export, track, benchmark] 之一
  • ARGS(可选)是任意数量的自定义 arg=value 对,例如用于覆盖默认值的 imgsz=320

请在完整的配置指南中或通过 yolo cfg 查看所有 ARGS。

其中:

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

参数必须作为 arg=val 对传递,以等号 = 分隔,并在各对之间用空格定界。请勿使用 -- 参数前缀或在参数之间使用逗号 ,

  • yolo predict model=yolo26n.pt imgsz=640 conf=0.25
  • yolo predict model yolo26n.pt imgsz 640 conf 0.25
  • yolo predict --model yolo26n.pt --imgsz 640 --conf 0.25

训练#

在 COCO8 数据集上以图像大小 640 训练 YOLO 100 个轮次。有关可用参数的完整列表,请参阅配置页面。

示例

开始在 COCO8 上以图像大小 640 训练 YOLO26n 100 个 epoch:

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

验证#

在 COCO8 数据集上验证已训练模型的准确率。不需要参数,因为 model 保留了其训练时的 data 和参数作为模型属性。

示例

验证官方 YOLO26n 模型:

yolo detect val model=yolo26n.pt

预测#

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

示例

使用官方 YOLO26n 模型进行预测:

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

导出#

将模型导出为其他格式,如 ONNX 或 CoreML。

示例

将官方 YOLO26n 模型导出为 ONNX 格式:

yolo export model=yolo26n.pt format=onnx

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

格式format 参数模型元数据参数
PyTorch-yolo26n.pt-
TorchScripttorchscriptyolo26n.torchscriptimgsz, quantize, dynamic, nms, batch, device
ONNXonnxyolo26n.onnximgsz, quantize, dynamic, simplify, opset, nms, batch, data, fraction, device
OpenVINOopenvinoyolo26n_openvino_model/imgsz, quantize, dynamic, nms, batch, data, fraction, device
TensorRTengineyolo26n.engineimgsz, quantize, dynamic, simplify, opset, workspace, nms, batch, data, fraction, device
CoreMLcoremlyolo26n.mlpackageimgsz, dynamic, quantize, nms, batch, device
TF SavedModelsaved_modelyolo26n_saved_model/imgsz, keras, quantize, opset, nms, batch, data, fraction, device
TF GraphDefpbyolo26n.pbimgsz, opset, batch, device
TF Edge TPUedgetpuyolo26n_edgetpu.tfliteimgsz, quantize, opset, data, fraction, device
PaddlePaddlepaddleyolo26n_paddle_model/imgsz, batch, device
MNNmnnyolo26n.mnnimgsz, batch, dynamic, quantize, simplify, opset, nms, device
NCNNncnnyolo26n_ncnn_model/imgsz, quantize, batch, device
IMX500imxyolo26n_imx_model/imgsz, quantize, data, fraction, nms, device
RKNNrknnyolo26n_rknn_model/imgsz, batch, name, quantize, simplify, opset, data, fraction, device
ExecuTorchexecutorchyolo26n_executorch_model/imgsz, batch, device
Axeleraaxelerayolo26n_axelera_model/imgsz, batch, quantize, data, fraction, device
DEEPXdeepxyolo26n_deepx_model/imgsz, quantize, simplify, opset, data, optimize, device
Qualcomm QNNqnnyolo26n_qnn.onnximgsz, batch, name, quantize, simplify, opset, data, fraction, device
LiteRTlitertyolo26n.tfliteimgsz, quantize, batch, data, fraction, device
Hailohailoyolo26n_hailo_model/imgsz, name, quantize, data, fraction, simplify, conf, iou
Huawei Ascendascendyolo26n_ascend_model/imgsz, batch, name, quantize, opset, simplify, nms

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

覆盖默认参数#

通过在 CLI 中将默认参数作为 arg=value 对传递来覆盖它们。

提示

训练检测模型 10 个 epoch,学习率为 0.01:

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

覆盖默认配置文件#

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

为此,首先使用 yolo copy-cfg 命令在当前工作目录中创建 default.yaml 的副本,这将创建一个 default_copy.yaml 文件。

然后,你可以将此文件作为 cfg=default_copy.yaml 以及任何附加参数一起传递,就像本例中的 imgsz=320 一样:

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

解决方案命令#

Ultralytics 通过 CLI 为常见的计算机视觉应用提供开箱即用的解决方案。yolo solutions 命令提供了对象计数、裁剪、模糊、锻炼监控、热力图、实例分割、VisionEye、速度估计、队列管理、分析、Streamlit 推理和基于区域的跟踪——有关完整目录,请参阅解决方案页面。运行 yolo solutions help 以列出每个支持的解决方案及其参数。

示例

统计视频或实时流中的对象:

yolo solutions count show=True
yolo solutions count source="path/to/video.mp4" # specify video file path

有关 Ultralytics 解决方案的更多信息,请访问解决方案页面。

常见问题解答#

  • 要使用 CLI 训练模型,请在终端中执行单行命令。例如,要使用 0.01 的学习率训练检测模型 10 个轮次,请运行:

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

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

  • Ultralytics YOLO 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>
    • 使用解决方案:运行 yolo solutions <solution_name> 以使用现成应用。

    使用各种参数自定义每个任务。有关详细语法和示例,请参阅各个部分,例如训练预测导出

  • 要验证模型的 accuracy,请使用 val 模式。例如,要验证批大小为 batch size 1 且图像大小为 640 的预训练检测模型,请运行:

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

    此命令在指定数据集上评估模型,并提供诸如mAP精确率召回率等性能指标。有关更多详细信息,请参考验证部分。

  • 你可以将 YOLO 模型导出为各种格式,包括 ONNX、TensorRT、CoreML、TensorFlow 等。例如,要将模型导出为 ONNX 格式,请运行:

    yolo export model=yolo26n.pt format=onnx

    导出命令支持众多选项,可针对特定部署环境优化你的模型。有关所有可用导出格式及其特定参数的完整详细信息,请访问导出页面。

  • Ultralytics 通过 solutions 命令提供开箱即用的解决方案。例如,要计算视频中的对象数量:

    yolo solutions count source="path/to/video.mp4"

    这些解决方案需要极少的配置,并为常见的计算机视觉任务提供即时功能。要查看所有可用的解决方案,请运行 yolo solutions help。每个解决方案都有可根据你的需求进行自定义的特定参数。

评论